![]() |
|
Модераторы: bsa |
![]()
|
|
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
GoldFinch, нет уж - назвался груздем - полезай в кузов. Либо чисто на ассемблере - ты ведь его сторонник - либо чисто на С++. Во втором случае, ясное дело, будут беспристрастные судьи, которые будут получать исходники и батники, запускающие компилятор, и выдавать результаты; исходники друг от друга будем хранить в тайне. В любом случае, я уже сутки жду от тебя задачу.
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Kallikanzarid, так мы что тестировать будем? "С++ vs асм" или "Kallikanzarid vs GoldFinch"?
|
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
Давай второе.
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
я тоже суп както не очень.
вобщем я завтра вечером те тестовый алгоритм и методику измерения напишу десятая страничка однако.... |
|||
|
||||
| J0ker |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
yуууу "береш справочник по шахматам и обыгрываеш Каспарова"
я вам уже показал, что "неидеальность" обычно вызвана непониманием - вы упорно игнорируете этот факт упрямство - достоинство сами знаете кого я вам знаете что советую напишите-ка на ассемблере вычислительный модуль BIONIC'а и запустите - а мы посмотрим, примет ли сервер ваши "оптимизированные" вычисления |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Kallikanzarid, вобщем я подумал-подумал, даже на форуме поспрашивал на каком алгоритме может загнуться С++ в отличие от асма, да только подходящего ответа не получил, да и сам ничего толкового не придумал... Что попроще и 100% сработает - неинтересно, а то что сложно - самому долго писать. Пришлось придумать нормальную задачу, близкую к реальной.
Нужно написать функцию bool __stdcall Tick(float x); Функция принимает на вход некореллированную последовательность равномерно распределенных вещественных чисел Xi, 0<=Xi<A<=1 Для i от 0 до N-1 параметр распределения A равен 1, для чисел с i от N до 2*N-1 параметр распределения A равен 0.5 Функция должна возвращать 1 при i<N+D и 0 при i>=N+D, где D - задержка срабатывания функции. Производительность функции оценивается произведением времени работы функции T за одну итерацию на задержку срабатывания функции D, либо суммой времени выполнения D итераций, это значение должно быть минимально. Допускается не более 5% ложных срабатываний (возврата 0 при i<N), причем N>100, первые 100 тактов ложные срабатывания не считаются. Код функции следует оформить в виде DLL и сделать эту функцию экспортируемой, имя не важно, импортировать будем по ординалу. В DllMain() можно инициализировать переменные, выделить память и проч. Программа тестирования, одна и та же для всех длл, будет загружать длл, вызывать эту функцию и замерять ее время исполнения. Примерный код программы тестирования:
Размер бинарника, используемой виртуальной памяти неограничен, но будем считать что прога будет работать на компе с 512-1Гб ОЗУ Что-то может следует откорректировать, чтото уточнить, в целом думаю задача получилась неплохая =) |
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
Уточни парочку моментов:
1) Речь идет о нормальном распределении случайных чисел? 2) Что именно должна делать функция? Как я понимаю, ее выходное значение зависит от того, какой по счету раз ее вызвали и совершенно не зависит от передаваемого аргумента? Или я неправильно понял? 3) Как функция получит значение N? |
|||
|
||||
| GoldFinch |
|
||||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
1) о равномерном, но можно сделать и нормальным.
2) функция должна определить что параметры входной последовательности изменились и вместо 1 вернуть 0 например она должна вычислять матожидание или дисперсию фактически ее выходное значение должно както зависеть от предидущих значений Как именно зависеть - решать тебе. Чтобы хранить эти значения можно использовать глобальные переменные, массивы, буферы, что захочешь. 3) N и i ей знать не надо, только принимать входные числа Xi, както накапливать их и возвращать Выглядит это так
|
||||
|
|||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
что-то мне мнится, что производительность в данной задаче будет упираться в алгоритм, а не в то, на чем он написан
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
J0ker, ну Kallikanzarid же сказал что ему интереснее "Kallikanzarid vs GoldFinch" чем "С++ vs асм"...
|
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
ну в таком случае мне не ясно, зачем вы нивелировали задачу 5-ю процентами - ИМХО скорость и качество определения параметра распределения должны входить в оценку результата умственного онанизма оппонентов
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
J0ker, а как тогда оценку рассчитывать? тем более что если не задавать Pлс, то возможно будут решения с максимальным быстродействием и принципом "угадал\неугадал"
|
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
ну так об этом надо и договариваться
да, но качество тогда снизится вдвое, при этом в формуле должна участвовать задержка D - в этом случае такой алгоритм станет заведомо проигрышным Это сообщение отредактировал(а) J0ker - 11.12.2008, 23:06 |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
J0ker, проще задать вероятность не менее 95% чем выдумывать сомнительные интегральные критерии
|
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
GoldFinch, лучше взять нормальное распределение. И использовать не самодельную эвристику, а boost::random.
А вообще задача очень интересная |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |