Форум: "Потрепаться";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизDelphi Challenge: И все-таки нужно подумать. Найти похожие ветки
← →
Style (2003-04-24 19:51) [0]Из письма Mystic:
S> удобное для всех время.
А зачем, удобное для всех?
Я вообще не понимаю регистрацию участников. Имхо самый рациональный
путь: в понедельник 10:00 начало соревнования. В следующий понедельник
после 10:00 прекращается прием решений. Этим достигается несколько
плюсов: во первых, увеличивается количество участников. Действительно,
каждый желающий может зайти на сайт и по заданиям решить, будет ли он
участвовать или нет. Предварительная решистрация является лишней
головной болью для участников, хотелось бы ее избежать
Если идти по предложенному пути, то все равно неясно, зачем всем
находится online вечером в 21:00. Если время оценки ответа будет
порядка 3-4 дня, не думаю, чтобы это могло кого-то смутить. Тем более,
что для грамотной оценки жедательно указывать также вреднее время
прогонки решения программы на тестовых примерах (автору самой быстрой
программы плюсовать баллы) и т. д.
В третьих, проводить конкурс по одному заданию бессмысленно. Тем
более, что в задании #1 очевидно время ~ длине строки. Ее можно либо
решить, либо не решить. Первое напрашивающееся решение имеет
эффективность порядка длины строки, превысить которое нельзя (хотя бы
потому, что надо просмотреть всю строку).
.........
И все-таки нужно подумать о дальнейшей судьбе Delphi Challenge
Как вы представляете проведение этих соревнований. Нужно что-бы было удобно всем. Как и судить соревнования так и участвовать в них..
1. Соревнований должно состоять из нескольких задач?
2. Лучше время проведения соревнований будет 1 неделя?
3. Начать участие можно влюбой момент? (без написания заявки)?
Пусть 1-е соревнование будет маленьким 30 мин.
Вобщем переносим его на пятницу 21:00 (Участники согласны)
← →
Style (2003-04-24 19:59) [1]..... -> конец письма от Mystic, а то несколько не понятно получается.
← →
panov (2003-04-24 20:19) [2]1. Каждый участник может решать любое количество конкурсных заданий.
2. Для проведения конкурса оговаривается время с ... по ..., т.е. решения принимаются с ... по ..., причем заранее на сайте сообщается время появления полного конкурсного задания.
3. Время конкурса определяется сложностью задания, да и не настолько оно важно, т.к. время появления ответа будет учитываться.
4. Регистрироваться не обязательно.
← →
Sha (2003-04-24 20:32) [3]Поддерживаю Mystic: регистрация участников не нужна.
Длительность тура - неделя.
Оценивать не время написания программы, а качество ее кода и время работы.
← →
Style (2003-04-24 21:19) [4]Ну в любом случае завтра 1-й тур на 30 минут...
в 21.00 по Москау.. Даём старт Соревнованиям Delphi Challenge
Еще предложения???
← →
vlsoft (2003-04-25 08:49) [5]Мысли такие:
1. Один тур должен содержать несколько (3-5) задач на разные темы.
2. Оценивается не качество кода, а правильность и время его работы.
3. Время - неделя. Соревнования на скорость бессмысленны.
Если нужна помощь, готов подобрать задачи для 1 тура, тестировать решения. Гарантирую высокий уровень проведения соревнований. Если что ,обращайтесь.
← →
ZeroDivide (2003-04-25 08:54) [6]>Предварительная решистрация является лишней
>головной болью для участников, хотелось бы ее избежать
Вообще говоря - да. Я думаю некоторых это отворачитвает.
1. Текст задания не на мыло, а на сайт в установленное время.
2. Регистрацию отменить (исключение: члены жюри)
3. Длительность тура для заданий разной сложности разная
4. Система оценки члена жюри - его личное дело.
Время должно быть удобное. Я, например, могу участвовать только в выходные. В будни - на работе и подолгу. Для меня идеально - с пятницы до понедельника :)
← →
Style (2003-04-25 09:03) [7]ZeroDivide ©.. Удобное для всех не получится :( У нас не коммунизьм.
Наверное лучше действительно выкладывать Весь объем заданий в понедельник утром. А в следующий понедельник прекращать прием заданий.
Может даже сделать так что каждый учвстник получает за один ответ определенное кол-во баллов, в зависимости от сложности задания и граммотности его выполнения. Пусть это будет среднее значение суммы баллов полученных от судейства - 50-ти бальная система. С каждым туром участнику эти очки прибавляются на его Account, участники расстанавливаются по позициям исходя из заработанных очков. Как вам эта идея???
← →
Style (2003-04-25 09:05) [8]vlsoft>>
А вы присылайте на delphichallenge@nm.ru свои задания.
Заранее спасибо за то что хотите оказать помощь!
← →
REA (2003-04-25 10:53) [9]Я не планирую в 9 часов вечера что либо писать, а буду пить пиво. Можно попозже без рейтингов и т.п. просто за компанию поучаствовать?
← →
ZeroDivide (2003-04-25 13:13) [10]Style © (25.04.03 09:03)
>Удобное для всех не получится
ОК. Тогда выкладывать все не зависимо от сложности.
Начисление очков, точнее - рейтинга.
Мое предложение:
(сумма_средних_баллов*сумма_сложностей)/(количество_выполненых_заданий)
либо
(сумма_средних_баллов*сумма_сложностей*сумма_коэффициентов_длительностей)/(количество_выполненых_заданий)
коэффициент длительности - устанавливать при поступлении решения на мыло, чем раньше получено решение, тем больше. Дисперсия этого коффициетна не должна быть большой что бы приоритетным было все же качество. Где-то в районе (1.0 - 1.25), нижняя граница будет дана человеку чье письмо пришло последним, верхняя тому, чье первым. И прогу небольшую надо написать для этого дела, которая на основании дат первого и последнего ответа, автоматически проставила этот коэффициент всем остальным. Таким образом несколько упроститься и будет более обьективной работа жюри, они будут выставлять баллы лишь за качество.
← →
Style (2003-04-25 13:17) [11]А результатирующая система занесения сумм балов будет накопительной. т.е будут результаты не только за конкретный тур, но и общие - это наверное будет вызывать дополнительный интерес у участников.
← →
Sha (2003-04-25 13:38) [12]2ZeroDivide © (25.04.03 13:13)
Забудь про время решения. Не у всех оно есть, а если есть, то не одним куском.
Хочется порешать чё-нить в свободное время в расслабленном состоянии. Думаю, я не одинок, см. REA © (25.04.03 10:53).
Чего зря напрягать людей. Все должно делаться с удовольствием :)
← →
ZeroDivide (2003-04-25 13:42) [13]>Style © (25.04.03 13:17)
В общем да. Рейтинг будет лежать постоянно в определенном диапазоне. Не зависимо от того, сколько заданий выполнил конкурсант. Это позволит не только вызвать дополнительный интерес у участников, но и вступить в соревнование новым участникам начиная с любого тура, хоть с 25-ого. Участие же в новом туре будет нужно тем кто пожелает повысить свой рейтинг.
Сейчас заметил упущение в предложеной мною формуле... Надо еще ввести туда один коэффициент, понижающий рейтинг если участник долго не принимает участие в соревнованиях. Тут дело в том, что после 1-ого тура, тот кто попадет на первое место в таблице рейтинга, вряд ли будет участвовать в соревнованиях дальше, так как его следующий результат может ухудшить его рейтинг.
Формулу надо сбалансировать поэтому однозначно я сейчас не могу придумать как изменить формулу. Предлагайте свои варианты!
← →
ZeroDivide (2003-04-25 13:44) [14]>Sha © (25.04.03 13:38)
Ты можешь не напрягаться и делать все в расслабленом состоянии. Коэффициент скорости не сильно повлияет на рейтинг.
← →
Sha (2003-04-25 13:52) [15]2ZeroDivide © (25.04.03 13:44)
А мне на рейтинг....
Он у меня и так стоит высоко :)
Дело не в нем, а в количестве участников. Не надо людей отпугивать, надо привлекать. Условия должны быть максимально простыми: заходи, когда хочешь, решай задачи из списка, жди оценки к концу недели. Тогда проект заработает.
← →
Style (2003-04-25 13:56) [16]ZeroDivide ©
Ну в общем мнения у всех совпадают
Нужно как можно меньше напрягаться. Если хочешь рузльтат то
напрячся можно и поболее.
Значит тогда сегодня первое соревнование проведем. по старой схеме, и можно будет переделывать правила и готовить на понедельник задания.!!!
← →
Sha (2003-04-25 14:07) [17]2Style © (25.04.03 13:56)
Еще, если уж менять правила, хорошо бы за автором оставить возможность (по желанию автора) участвовать в судействе собственного задания. Т.е. добавить такой пункт в форму присылаемого задание.
Я, например, не имею достаточно времени,
чтобы судить чужие задания, но парочку своих посудить бы не отказался.
← →
Style (2003-04-25 14:34) [18]Sha © >> Да нужно все грамотно описать. Ну я сделаю набросок к понедельнику, а вы если чего поправите! Посоветуете как лучше быть, как быть лучше ;)
ОКА!
← →
Fenik (2003-04-25 18:08) [19]
Style © (25.04.03 13:56)
>Значит тогда сегодня первое соревнование проведем. по старой схеме, и можно будет переделывать правила и готовить на понедельник задания.!!!
Я готов ))
← →
_Igorek (2003-04-25 21:37) [20]2Style
Ребята, так нечесно. Подал заявку, ждал, готовился, даже прогу сдуру написал, а задание не выслали. :-(
← →
Sha (2003-04-25 21:38) [21]2ZeroDivide © (25.04.03 13:13)
Над формулой поработать надо, при вычислении оценки обычно складывают произведения (на то они и коэффициенты, чтобы их перемножать :), а не перемножают суммы.
Мои предложения:
1. Вес последних заданий должен быть больше. Что-то типа:
R := (1-p) * R" + p * T, где:
R - новый рейтинг, R" - старый рейтинг, T - рейтинг за участие в туре, p - вес тура (0.05-0.15).
Чем больше вес задания, тем сильнее результаты его выполнения
изменяют рейтинг участника.
2. Рейтинг за участие в туре вычисляется на как средний взвешенный рейтинг за тур по всем судьям:
T := (K1 * T1 + K2 * T2 + ... + Kn * Tn) / (K1 + K2 + ... + Kn), где:
T1, T2, ... Tn - рейтинги участника за тур, вычисленные для каждого судьи, K1, K2, ... Kn - квалификация судей (1..10).
3. Для i-того судьи рейтинг участника за тур вычисляется по формуле:
Ti := R" + (Xi - R" * B / 10) * p, где:
Xi - выставленная им оценка, учитывающая сложность, скорость (1..10), B - максимальное количество баллов.
4. Как судья генерирует свои оценки нас не волнует. Можно рекомендовать ему что нибудь типа:
Xi := Min(10, a * b * c * Yi), где:
a, b, c - коэффициенты за то, за се, Yi - собственно оценка по 10-бальной шкале.
5. Все начинают со значения рейтинга равного 2.
За неучастие в туре рейтинг плавно изменяется, приближаясь к начальному значению:
R := (1-q) * R" + q * 2, где:
q - вес пропуска тура ~ 0.005
Что мы с этого будем иметь:
1. Обозримость формул, небольшое количество переменных, описывающих рейтинг участника, вес тура, вес пропуска, квалификацию судей, оценки. Формулы хорошо ложатся на тип currency (4 знака после запятой).
2. Значения текущего рейтинга участника, его рейтинга за тур, квалификации судьи и выставленной оценки лежат в любимом всеми диапазоне 1..10.
← →
Style (2003-05-05 09:19) [22]Товарисчи я все вроде переделал, осталось еще правила переписать.. Короче вечером сделаю.. Посмотрите оцените изменения
на http://delphichallenge.nm.ru
любые замечания пишите в сюды форум!
← →
ZeroDivide (2003-05-05 09:49) [23]>Sha © (25.04.03 21:38)
>Style © (05.05.03 09:19)
Sha, твоя прога не рулит.
Причина раз: Прежде чем что то писать не плохо было бы сформулировать задачу, а то получилось вот что:
1 Рейтинг зависит от предыдущего рейтинга?! Что не есть правильно ибо рейтинг в таком случае зависит от количества туров.
Предположим участник начинает с 25-го тура и что он "ламо" что-ли по рейтингу будет? Я считаю что для определения рейтинга, необходимо участие всего лишь один раз.
2. Что значить "добавить судью"? Что если из тех судей, которые зарегистрированы как судьи, кто-то не найдет времени или по каким нибудь иным причинам не сможет голосовать.
3. Что значит "добавить участника"? А если участники на каждом туре будут вообще разные?
4. Так как мне это уже не понравилось, то код твой я смотрел мельком, однако же одна фича меня удивила: нажимаю на вычислить рейтинги и каждый раз разный результат. Причем при многократном нажимании все стремиться к какому то числу
5. Нафиг рейтинг делать вещественным числом. Style по-моему не плохо предложил, еще в самом начале integer: от 1 до 50. Градация достаточная, как мне кажется.
Постановка задачи ИМХО:
1.
Style дает input и аутпут форматы, какие ему удобно для автоматизации работы сайта, ты пишешь прогу, ну или я ее напишу :)
2. Рейтинг от 1 до 50
3. Рейтинг не зависит от предыдущего рейтинга.
4. При пропуске тура рейтинг падает, но очень не значительно!!!
А то мы получим "программиста всех времен и народов, который поставил свой рекорд эннадцать туров назад"
← →
Style (2003-05-05 10:26) [24]2 ZeroDevide..
Я вообще хотел вести историю соревнований.. т.е. в Архиве будут храниться задания предыдущих туров и результаты.
А может общие результаты сделать средним значением баллов.
т.е. Максимальная оценка это 50. + дополнительные баллы за скорость алгоритма и индивидуальность кода.
тогда общий результат = Среднему значению набранных очков за все туры.
Result := (Res1 + Res2 + Res3) / Count;
то же самое и для судейства. Судья оценивают каждое задание в отдельности и могут дать за него Макс балл. (если решение правильное), могут уменьшать баллы в зависимости от хода мыслей участника. +
Дополнительно могут дать макс. 10 баллов за изящность кода.
Оценки судей высчитываются для каждого участника в отдельности.
А форма программа нужна следующая..
Имя Судьи:
Участник или его №.
№ Задания Оценка Доп Балл.
1 12 0
2 11 0
3 24 7
.........................
n x z
Должен быть экспорт и импорт из своего формата файла
Можно взять мой http://sands.nm.ru/swaptable.zip :) Интерфейс почти как в BDE
Соответственно программа должна высчитывать средний бал оценок всех участников жюри. И хранить информацию в Базе за предыдущие туры. Выводить общие результаты.. Я Сделаю экспорт в html..
← →
Style (2003-05-05 11:03) [25]Да ксатит приношу свои извинения за то что я так долго его переделывал.. На права здавал :) А потом праздники и все-такое.. Но все-равно время выкопал :))
← →
ZeroDivide (2003-05-05 11:32) [26]>Style ©
>тогда общий результат = Среднему значению набранных очков за
>все туры
Об этом я и говорил, но Sha как то резво взялся и наваял свою прогу, которая имхо не рулез.
← →
Style (2003-05-05 11:41) [27]Еще задания первого тура - это одни математические алгоритмы.. Наверное темы заданий должны быть более обширного характера.. Работа с файлами, WinApi, ООП, VCL, Написание Компонентов, Работа с графикой. Именно ползая по всем темам можно как то думать о рейтенге.
← →
Style (2003-05-05 11:44) [28]Sha>> Нужно бы переделать все. Наверное средний результат это самое простое решения для составления рейтинговой базы.
Ну кто займется прогой или давайте каждый по чуть-чуть.. Ща ФТПшник общий откроем.
← →
DVM (2003-05-05 11:59) [29]У Вас там в задачах ошибки и неточности. Так не получится решать и оценивать.
Задание №6:
что за чушь: Пример: 153 является числом Армстронга, (153 = 13 + 53 + 33)
Должно быть (из объяснения)153=125+27+1
Задание №4
Есть ряд чисел 123456789101112131415161718192021
Как задан ряд? Это строка, массив, целое число, множество(хотя это вряд-ли:)?
← →
Mystic (2003-05-05 12:34) [30]
> что за чушь: Пример: 153 является числом Армстронга, (153
> = 13 + 53 + 33)
> Должно быть (из объяснения)153=125+27+1
Так и есть. Вместо 13 + 53 + 33 подразумевалось 1^3 + 5^3 + 3^3
> Как задан ряд? Это строка, массив, целое число, множество(хотя
> это вряд-ли:)?
Как хочешь, так и задавай. Можешь обойтись вообще без этого ряда. Надо реализовать функцию, которая удовлетворяет всем описанным ограничениям.
← →
Style (2003-05-05 12:52) [31]Mystic ©
Может изменить задание. №4 я кое что добавил.. может лучше так..?
DVM>> Спасибо за замечание.. №6 моя ошибка забыл открыть блоки <SUP></SUP> :)
← →
DVM (2003-05-05 13:10) [32]Извиняюсь, за то что придираюсь, но в 4 задании еще одна наточность, из за которой я, честно говоря, не сразу смог "въехать" в задание.
Найти цифру с номером n
Правильнее: Найти число...
← →
Style (2003-05-05 13:18) [33]2DVM OK! Уже поменял.
← →
Mystic (2003-05-05 14:09) [34]
> Может изменить задание. №4 я кое что добавил.. может лучше
> так..?
Да нет, так не лучше. Теряется смысл. Если передавать строку в качестве параметра, то решение сведется к тривиальному:
function Func(Data: string; N: Integer): Integer;
begin
Result := Integer(Data[N]) - Integer("0");
end;
А вот посмотрел на приведенные примеры, и запутался окончательно...
Суть задания состоит в том, чтобы самому эффективно получать заданную последовательность чисел (а не пользоваться заданной). Я бы переформлировал так:
Имеется последовательность цифр, образованная последовательно записанными натуральными числами 123456789101112131415161718192021... Необходимо получить N-ю цифру из заданной последовательности (N>=1)
Результат оформить в виде функции
function Func(N: Integer): Integer;
Пример
Func(3) = 3
Func(11) = 0
Func(17) = 3
...
← →
Style (2003-05-05 14:26) [35]2 Mystic
Все поменял...
ОК.. Но это опять же математика..
Наверное в следующий тур следует включить более обширные темы заданий.
← →
Mystic (2003-05-05 14:59) [36]
> Style © (05.05.03 14:26)
Не знаю... Математика хороша тем, что
1. Участвовать могут все желающие...
2. Выигрывает тот, у кого лучше развита смекалка...
3. Задания могут быть хорошим стимулом для начинающих программистов. Зачастую видишь парней 13-15 лет, создающих базы данных на Delphi, но которые не в состоянии напистать простенького цикла...
4. Много критериев оценки: например можно давать бонусные очки за самое производительно решение, ... Штрафовать за применение ассемблера (чтобы использование асемблера было умеренным и только там, где это необходимо)...
5. В целом можно придумать много интересных заданий для самых различных уровней подготовки...
6. Код победителей может служить другим для обучения...
Насчет прочих соревнований, то они
1. Требуют хорошего знания Delphi (иногда связаны с изучением каких-то разделов)
2. Требуют много времени на решение
3. Если задача не имеет практической ценности, то жалко участвовать в конкурсе.
Поэтому примером подобного конкурса может быть:
Создать компонент графического редактора с подсветкой синтаксиса.
Соответсвенно, через месяц--другой после этого производить итоги конкурса. По желанию авторов публиковать либо не публиковать исходник. В конкурс включать не только FreeWare--компоненты, но и ShareWare. В этом случае конкурс может служить нескольким целям:
1. Реклама своих программных продуктов.
2. Посетителям облегчает выбор компонент для работы.
Кстати, можешь кинуть рекламу и в RSDN, в Этюды для программистов...
и связаться с другими ресурсами по Delphi --- лишняя реклама не помешает.
← →
Style (2003-05-05 15:14) [37]2 Mystic: Рекламировать конечно надо но немного позже.. Когда явно определена и проверена система работы сайта. Но тематику заданий мне кажется расширять надо пусть не сложные задания, но небольшая проверка на знание АПИ, работы с графикой и т.д. Будет немного интереснее.
← →
Sha (2003-05-05 15:20) [38]2ZeroDivide © (05.05.03 09:49)
>1 Рейтинг зависит от предыдущего рейтинга?! Что не есть
>правильно ибо рейтинг в таком случае зависит от количества туров.
Рейтинг (в шахматах, например) зависит от многих параметров, в том числе и от количества туров. Ты же не думаешь, что там его вычисляют неправильно?
>Предположим участник начинает с 25-го тура и что он "ламо" что-
>ли по рейтингу будет? Я считаю что для определения рейтинга,
>необходимо участие всего лишь один раз.
А чтобы стать чемпионом мира достаточно один раз напоить и обыграть бесчувственного Каспарова.
>2. Что значить "добавить судью"? Что если из тех судей, которые
>зарегистрированы как судьи, кто-то не найдет времени или по
>каким нибудь иным причинам не сможет голосовать.
Программа отлично работает при любом количестве судей. Более того: разные судьи могут оценивать разных участников. Не каждый судья обязан оценивать. Список судей - это список ВОЗМОЖНЫХ (т.е. всех) судей.
>3. Что значит "добавить участника"? А если участники на каждом туре будут вообще разные?
Программа отлично работает при любом количестве участников. Список участников - это список ВОЗМОЖНЫХ участников, т.е. всех участников, для которых считаем рейтинг.
>4. Так как мне это уже не понравилось, то код твой я смотрел
>мельком,
Был очень занят, вообще не смотрел ни программу, ни код :)
>однако же одна фича меня удивила: нажимаю на вычислить
>рейтинги и каждый раз разный результат. Причем при многократном
>нажимании все стремиться к какому то числу
Да, это так. Птичка "отладка" позволяет имитировать проведение нескольких туров и посмотреть, как будет меняться рейтинг участника. В нормальном режиме птички нет.
>5. Нафиг рейтинг делать вещественным числом. Style по-моему не
>плохо предложил, еще в самом начале integer: от 1 до 50.
Для попадания в 10-балльную шкалу. При высокой активности участника его рейтинг будет очень близок к его оценке по 10-балльной шкале. Если 4 знака после запятой много, можно оставить 1.
>При пропуске тура рейтинг падает, но очень не значительно!!!
>А то мы получим "программиста всех времен и народов, который
>поставил свой рекорд эннадцать туров назад"
Это сделано в моей программе.
2Style © (05.05.03 11:44)
>Нужно бы переделать все. Наверное средний результат это самое
>простое решения для составления рейтинговой базы.
Это направильно. При вычислении рейтинга всегда последний результат имеет больший вес.
Скажем, в прошлом году ты поступал в институт и средний балл составил 3, а в этом году ты, основательно подготовившись, сдашь на 9. Что же, оценка твоих ТЕПЕРЕШНИХ знаний равна 6? Если бы приемная комиссия так думала, то тебе пришлось бы еще год штудировать учебники :)
В общем присмотритесь к проге повнимательнее. Она не так плоха. Вопросы, пожелания можно на мыло.
← →
Style (2003-05-05 15:34) [39]2 SHA Дай ссылку на прогу плиз...
← →
ZeroDivide (2003-05-05 15:44) [40]>Style © (05.05.03 15:14)
>Ну кто займется прогой или давайте каждый по чуть-чуть
Я напишу. В твоем формате.
← →
Mystic (2003-05-05 15:44) [41]
> 2 Mystic: Рекламировать конечно надо но немного позже..
> Когда явно определена и проверена система работы сайта.
> Но тематику заданий мне кажется расширять надо пусть не
> сложные задания, но небольшая проверка на знание АПИ, работы
> с графикой и т.д. Будет немного интереснее.
О рейтингах думать имхо рано. Да и не сильно они нужны (результата соревнований, имхо, достатоно). А реклама, имхо, не помешает.
← →
Sha (2003-05-05 15:46) [42]2Style © (05.05.03 15:34)
Последний раз почту когда смотрел? :)
Я слал на ru, может надо было на py?
← →
Style (2003-05-05 15:50) [43]Sha> Я походу удалил.. или не вижу не фига.. Повтори пожалуйста..
← →
Style (2003-05-05 15:52) [44]Mystic ©> Но результаты соревнований и нужно выводить в виде рейтинговых таблиц. А рекламу сделаю это я умею :)
← →
Sha (2003-05-05 15:53) [45]2Style © (05.05.03 15:50)
ПРога дома. Повторю вечером. Кстати, на какой адрес слать?
← →
Style (2003-05-05 15:56) [46]Sha>>на
DelphiChallenge@nm.ru
а на
Style[nospam]@nmk.ru
поздно будет уже с работы уйду через 30 мин.
← →
REA (2003-05-05 16:08) [47]Красивый сайтик получился - самому захотелось что-то решить.
Как я заметил большинство (если не все) заданий из области математики.
← →
Mystic (2003-05-05 16:09) [48]
> Но результаты соревнований и нужно выводить в виде рейтинговых
> таблиц
Зачем?
Прошли задания. Выводим таблицу
ФИО баллы 1 2 3 4 5
1. Иванов 60 10 15 20 0 10+5
2. Сидоров . . . . . . . . . . . . . .
по первому заданию:
ФИО баллы тестов пройдено тест №1 тест №2
1/ Иванов 10 100% 25 мин 23 сек 42 мин 53 сек
И т. д. Можно организовать прием заданий по частям и не обязательно все. И выводить информацию поточно
На сегодня:
Иванов решил 4 заданий, текущие баллы 30, 20, 10, 40.
Об общем рейтинге следует задуматься уже после пятого или шестого соревнования... Пока основной приоритет должен быть в успешном проведении первого соревнования и отработке процедуры соревнования, правил и т. д. Узнать, какое количество желающих собирается участвовать. А сколько согдасно писать программы на C++... И т. д.
← →
ZeroDivide (2003-05-05 16:11) [49]Cтраничка висела долго и я пропустил пост Sha :(
>А чтобы стать чемпионом мира достаточно один раз напоить и
>обыграть бесчувственного Каспарова.
Ага, но когда Каспаров придет в чувства я думаю он отыграется :)
>в том числе и от количества туров
Скажем, в прошлом году ты поступал в институт вместе с даунами которые поступают в 5-ый раз и средний балл твой
составил 9, а их 8, но рейтинг твой - 2.001, а их 7.999. Вопрос: Какими бы матюгами ты покрыл приемную комиссию?
Если бы приемная комиссия так думала, то тебе пришлось бы еще
год, а то и три штудировать учебники :)
← →
REA (2003-05-05 16:16) [50]А правил то и нету :(
А я уже чего-то решить хотел. Правда для задач математики Delphi и не к чему - Паскаля достаточно или Си (или ассемблера для отдельных профи).
← →
ZeroDivide (2003-05-05 16:20) [51]>Mystic © (05.05.03 16:09)
>после пятого или шестого соревнования
возможно и так.
А можно еще и задание такое дать :) "Написать прогу расчета общего рейтинга, учитывающую наибольшее количество факторов влияющих на рейтинг и сбаллансированную по весовым коэффициентам этих факторов"
← →
Style (2003-05-05 16:24) [52]2 Mystic. Но наверное все равно мне придется писать прогу для этих таблиц.. Ибо так можно замучится или запутатся что еще хуже... Пусть судьи качают клиент. Проставляют оценки экспортируют файл и отправляют результат на мыло.
Спасибо еще раз всем за поддержку. В любом случае все идеи хороши и их нужно уравновесить и придти к наилучшему выводу.
← →
Sha (2003-05-05 20:02) [53]Style © (05.05.03 16:24)
Хранение, загрузка-выгрузка у меня предусмотрена.
Послал на DelphiChallenge@nm.ru, лови.
Экспорт в html - не проблема добавить. Рисуй прототип таблицы.
Зашел на DelphiChallenge. Почему 10-балльной шкалы мало? Если нужна большая точность, то можно давать, например, макс. 9.5 баллов за задание. Может не стоит изобретать велосипед: у всех - 10, а у нас будет по-другому? Чего у нас такого особенного?
2ZeroDivide © (05.05.03 16:11)
>>А чтобы стать чемпионом мира достаточно один раз напоить и
>>обыграть бесчувственного Каспарова.
>Ага, но когда Каспаров придет в чувства я думаю он отыграется :)
А ты откажись :) Пусть обломается.
>Скажем, в прошлом году ты поступал в институт вместе с даунами
>которые поступают в 5-ый раз и средний балл твой
>составил 9, а их 8, но рейтинг твой - 2.001, а их 7.999.
>Вопрос: Какими бы матюгами ты покрыл приемную комиссию?
>Если бы приемная комиссия так думала, то тебе пришлось бы еще
>год, а то и три штудировать учебники :)
А ты хочешь после одной партии сделать себе рейтинг выше Каспарова? Низзя. Трудиться надо.
← →
Mystic (2003-05-05 21:07) [54]
>>>А чтобы стать чемпионом мира достаточно один раз напоить и
>>>обыграть бесчувственного Каспарова.
>>Ага, но когда Каспаров придет в чувства я думаю он отыграется :)
> А ты откажись :) Пусть обломается.
Существует похожая реаьная история, как один граф играл в шахматы со Стейницем (первый чемпион мира по шахматам). Граф платил за партии много, но, естественно, выиграть партию ему не удавалось. Тогда Стейницу предложили поддаться и проиграть один раз графу --- потому как больно уж выгодный был клиент, и не хотелось его терять. в следующей партии Стейниц "зевнул" ферзя, смешал шахматы и предложил сыграть еще одну партию. На что получил ответ: "Только что я выиграл у чемпиона мира по шахматам. Больше за шахматы я никогда в жизни не сяду!"
← →
Style (2003-05-05 21:08) [55]2 Sha
Все получил... Спасибо.. Посмотрю обязательно..
>>у всех - 10, а у нас будет по-другому?
К примеру в книгах Д.Кнута задачи оцениваются по 50-ти бальной системе. Я же не с потолка это взял..
Просто 50 эта задача которую так не кто и не смог решить!
Если не нашлось не одного правильного ответа то стоимость задачи растет.
т.е. За задачу мы максимум (правильное решение) мы можем получить к примеру 15 баллов. + дополнительно еще оценивается скорость работы, индивидуальность кода. За это можно получить дополнительные очки.
До к примеру за весь 1-й тур участник может заработать 150 очков + дополнительные очки.
Оценка 0 если участник вообще не решал задачу. Ну и по ходу мыслей участника мы приближаем оценку к максимальному баллу.
А вот общий рейтинг это конечно другое. Его можно в процентном соотношении привести в 10 бальную систему!
Это мое предложение..
← →
Sha (2003-05-05 21:21) [56]>Style © (05.05.03 21:08)
>К примеру в книгах Д.Кнута задачи оцениваются по 50-ти бальной системе. Я же не с потолка это взял..
OK, OK. В программе есть соответсвующие константы: min и max допустимые оценки за задание. Исправь их на свой вкус. Рейтинг тоже управляем с помощью констант. Если их не менять, будет приводиться к 10-балльной шкале.
← →
Style (2003-05-05 23:12) [57]Добавил правила соревнований. Посмотрите, подкорректируйте меня по мере необходимости.
← →
ZeroDivide (2003-05-06 09:17) [58]>еще и дополнительно максимум 10 баллов за скорость работы алгоритма
О да, участник N вообще не решил задание, но скорость алгоритма
project ONE;
begin
end.
просто потрясающая, за что он получает 10 баллов
Это так, шутка :))))
1.
>Еще по окончании тура судья по мере возможности должен выслать >свои комментарии к проведенному туру.
Вот это очень правильно!!! Не хотелось бы видеть просто расставленые по RND чиселки
2.
>решения которых вы явно хотите применить в своих целях
Вообще говоря, совсем не плохо, чтобы решения имели хоть какое нибудь прикладное применение. Если например в задании требуется написаниециркулятора бурбулятора
исключительно для Васи Пупочкина, так как он не в состоянии его сам написать, тогда да, но чем Paint то плох. Я вообще говоря не вижу ничего плохого в конкурсе компонентов TPaint. Компоненты текст "для пописать" (тэмeмo или тэричедит) есть в стандартных, а вот компонента "для порисовать" нету. Я думаю он бы пригодился не только "Васе". Конечно, написать его не проблема для обычного программиста (даже не профессионала), но все же я за прикладное применение решений.
3.
Сейчас представлено 9 заданий. Не много ли на тур? Исходя из того что написано в правилах (как я это понял), за не решенное задание участник получит 0 баллов. Т.е. для того чтобы оценить свои силы и получить "правильные" баллы, он должен пытаться решить все задания и тут я думаю будет уже не до красоты алгоритма!?
Выходов я вижу 2:
а) Установить количество заданий исходя из суммы сложностей, а можно и просто по числу заданий.
б) Начислять балл - (сумма баллов)/(количество присланых решений)
← →
ZeroDivide (2003-05-06 09:30) [59]В догонку -
Это лично мое мнение и на мой взгляд обоснованное, но как известно мнений много. Я считаю что нужно провести соревнования хоть по каким правилам, а потом уже отшлифовывать эти вопросы
← →
Style (2003-05-06 09:38) [60]>>>Т.е. для того чтобы оценить свои силы и получить "правильные" баллы, он должен пытаться решить все задания и тут я думаю будет уже не до красоты алгоритма!?
Он получает 0 балов за нерешеноое задание.. т.е за каждое задание он получает отдельную оценку. А не все его результаты обнуляются..
Наверное нужно как то это граммотно описать в правилах..
>>>Я считаю что нужно провести соревнования хоть по каким правилам, а потом уже отшлифовывать эти вопросы
Я тоже так считаю..
← →
_Igorek (2003-05-06 09:49) [61]Сайт начал грузиться убийственно долго
← →
Style (2003-05-06 09:51) [62]>>Сайт начал грузиться убийственно долго
А у меня убийственно быстро.. От куда нэтишся..??
NewMail иногда любит пропадать в некоторых зонах.
← →
Style (2003-05-06 12:14) [63]Я там счетчик влерил и опросы. Какие еще бы опросы добавить???
← →
ZeroDivide (2003-05-06 12:27) [64]>А не все его результаты обнуляются..
Я это совершенно не имел в виду.
Допустим 1-ый участник решил из всех 9 заданий - одно и получил 10 баллов.
2-ой решил 3 и получил за каждое по 5. Таким образом в сумме у него получается 15 и выходит что он побеждает 1-ого.
Это в принципе нормально, только если ты собираешься выводить итоговую таблицу по каждому заданию!!! иначе :(
← →
Style (2003-05-06 12:55) [65]ZeroDivide ©
Конечно нужно и выводить такую таблицу
№ Заданий
Участник: 1 2 3 4 5 6 7 8 9 Итого
Kubik 15+3 - - - 5 - 3 - - 26
Jubik 5 - 5 - - 5 - - 3 18
Bobik - - - 10 - - - - - 10
Т.е. если участник не прислал результат вообще это ему ничего и не даст.
Просто если кто то не решил не одного задания но пытался сделать все и очень близок был к цели естественно он может выграть того кто сделал одно задание и думает выграть тур.
Это же игра и за победу нужно бороться!
← →
Mystic (2003-05-06 13:07) [66]Если участник решил задачу правильно он получает макс. балл за ее решение.
Не совсем понятно, что подразумевать под правильностью. В задачах перебора может быть тупое решение, которое рано или поздно даст правильный вариант (например через 10^25 лет).
Я бы переделал так:
Задания
=======
1. Каждое задание имеет максимальный балл (от 1 до 50), который участник соревнований может получить за решение задачи.
2. Количество баллов, которое участник получает за решение задачи, оценивается исходя из сравнительной оценки всех присланных вариантов решения. Фактически по решению каждого отдельного залания возникает отдельный конкурс.
3. Не следует думать, что решив задачу, вы обязательно получите максимальный балл. В случае, если предложенное вами решение неэффективно, неоптимально или излишне требовательно к ресурсам, небрежно оформлено, существуют утечки памяти и т. д., то вы можете получить за правильное решение и меньшее количество баллов. В случае оригинального решения могут начисляться дополнительные баллы.
4. Не приветсвуется неоправданное применение ассемблера, только если это не ведет к существенному увеличению производительности.
5. Участник должен в течение трех дней ответить на вопросы жюри, которые возникли по поводу того или иного решения.
6. Участник может в течении недели опротестовать результат оценки собственных заданий, изложив мотивы протесты в электронном письме организаторам соревнования. по прошествии недели после окончания тура, опубликованные результаты автоматически приходят в силу.
7. Каждое из решений публикуется на сайте с оценкой решения, резльтатами замера производительности и краткой оценкой жюри.
8. Допускается незначительные измеения решения участником после окончания тура. Степень допустимости изменения решает жюри.
← →
Style (2003-05-06 13:46) [67]2 Mystic
Но мы же сами не знаем оригинальное решение.
Как тогда нам поступить.??
Я просто думал так что Если к примеру задача которая включает в себя алгоритм сортировки.
Один человек решил ее сортировкой вставками, второй слиянием, третий сделал QuickSort.
В общем случае ответ правильный например 15 баллов они получат
Но тот у кого быстрее может получить дополнительные баллы.
Может только не 10 максимум а максимум 50% от стоимости задания.???
Как нужно тогда переформулировать лучше правила чтобы учесть такой вариант?
← →
Style (2003-05-06 13:51) [68]Может лучше так???
3. Не следует думать, что решив задачу, вы обязательно получите максимальный балл. В случае, если предложенное вами решение неэффективно, неоптимально или излишне требовательно к ресурсам, небрежно оформлено, существуют утечки памяти и т. д., то вы можете получить за правильное решение и меньшее количество баллов. В случае оптимального решения могут начисляться дополнительные баллы + 50% от стоимости задания.
← →
Mystic (2003-05-06 14:05) [69]Идея основная была такая: по каждому заданию проводится отдельное соревнование. Победитель получает максимальное число баллов. Фактически то, что ты переформулировал, примерно то же самое...
Оригинальное это то, мимо чего прошли все (включая авторов задачи). Во всех олимпиадах по математике есть отдельный приз за оригинальное решение.
В твоем примере я бы оценил примерно так:
1. QuickSort --- 15
2. Пирамидальная --- 15
3. Вставки --- 10
4. Пузырек --- 7
← →
Style (2003-05-06 14:18) [70]Я переделал правила. Посмотришь?
Пробежался по форумам и создал ветки о Delphi Challenge. Небольшая реклама, но думаю модеры не убьют :)
← →
Mystic (2003-05-06 14:24) [71]Я бы все-таки оставил: "В случае оригинального решения"... Многим так понятнее. А оптимальное это несколько другое. Оптимальность надо еще доказать :) Не будешь же ты требовать от участников еще и математического доказательства?
← →
Style (2003-05-06 14:44) [72]Конечно же не буду :)
Но оригинальное тоже не подходит
Можеть просто В случае Верного решения :) ???
← →
Mystic (2003-05-06 14:48) [73]Чем тебе е нравится слово "оригинального"? Те, кто участвовал в олимпиадах, знают, что этот такое. Термин устоялся и используется не один десяток лет...
← →
Style (2003-05-06 15:33) [74]2 Mystic OK ща поменяю...
← →
Sha (2003-05-06 15:48) [75]2Soft
2Mystic
Хотел решить задание 3, но не понял условия. Может, надo из цифр:
Найти все комбинаций целых чисел в промежутке от 1 до N, которые удовлетворяют условию a2+b2=c2. Число c может состоять только из чисел, которые содержатся в a или b.
← →
ZeroDivide (2003-05-06 15:51) [76]Style © (06.05.03 12:55)
Jubik 5 - 5 - - 5 - - 3 18
Bobik - - - 10 - - - - - 10
А по моему Bobik все таки более достоин нежели Jubik
(5+5+5+3)/4 = 4.5 против 10/1 = 10
Такая система начисления "итого" более правильная т.к. если задания будут в последствии тематическими, а не только алгоритмическими, то участники возможно будут оценены не правильно. Как мне кажется, соревнования должны выявлять не столько обширность знаний, сколько оригинальность конкретных решений. (Опять же это лично мое мнение)
Style весы, стоимости... ты случаем теорией принятия решений не увлекаешься? :)))
← →
Mystic (2003-05-06 16:09) [77]
> Хотел решить задание 3, но не понял условия. Может, надo
> из цифр:
> Найти все комбинаций целых чисел в промежутке от 1
> до N, которые удовлетворяют условию a^2+b^2=c^2. Число c может
> состоять только из чисел, которые содержатся в a или b.
>
Да, правильнее из цифр, пример это поясняет... Скажем 3^2+4^2=5^2 не удовлетворяет условию, поскольку цифра 5 не входит ни в число "3", ни в число "4".
← →
Style (2003-05-06 16:22) [78]Да но если я решил 9 заданий
Такой сложности 5,7,4,9,15,6,9,4,9
то средний бал получится 68/9 = 7,555
А ты решил одно за 10
и твой средний бал равен 10..
Разве мне будет не обидно???
Поэтому очки дожны суммироваться. Что бы люди решали больше
заданий. Если они им не интересны, то они попросту теряют баллы.
А в твоем случае, человек который набрал 10 баллов попросту мог постараться и решить остальные что бы набрать большее кол-во баллов!
← →
Michael (2003-05-06 20:40) [79]У меня сайт http://delphichallenge.nm.ru/ совсем не грузится
← →
Style (2003-05-06 21:32) [80]Бывает что NewMail совсем бычит..
Попробуйте позже сегодня как никак человек 25 залезло.
← →
ZeroDivide (2003-05-07 08:59) [81]>Style © (06.05.03 16:22)
>А ты решил одно за 10
> и твой средний бал равен 10..
>Разве мне будет не обидно???
Не знаю, будет ли тебе обидно, если ты написал 100 хелоувордов, а я 1-у, но полноценную операционную систему :)
Вот увидишь, максимум тебе придет решения 2-3 на все 9 задач!
Повторяюсь: Надо делать акцент на качество. Иначе эти решения будут просто никому не нужны! Может я предложил не правильный метод акцентирования, чтож значит нужно придумать другой.
← →
Style (2003-05-07 09:20) [82]ZeroDivide © >>
Я думаю что мы не опустимся до уровня Hello World. Но все-же
ради своего рейтинга можно и написать дополнительно 10ток таких решений.
К тому же задания могу быть выполнены по разному не обязательно это будет стандартный подход, может что-то оригинальное за это урвать еще 50% бонуса на халяву думаю будет не плохо!
← →
Style (2003-05-07 10:51) [83]Незначительные изменения (добавления) в дизайне как вам?
← →
ZeroDivide (2003-05-07 12:14) [84]Да не парься ты дизайном особо.
← →
Style (2003-05-07 12:53) [85]Ну это же для души :)
← →
Fenik (2003-05-09 01:36) [86]Я склоняюсь к мнению, что упор надо делать не на количество, а на качество и оригинальность. Кому интересны "решения в лоб"? Хорошие решения должны вообще как-то выделяться.
На счёт ассемблера: может одним из обязательных условий сделать требование писать аналогичные функции на паскале, т.е. жюри проверяет и паскалевский и исходный вариант.
← →
Style (2003-05-12 08:43) [87]Fenik © >> Выделять "Хорошие решения"
Судьи смогут
1 Своими коментарими
2 Дополнительными баллами!
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.74 MB
Время: 0.015 c