Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
Где смотрел-то ?
А то программы в научных журналах обычно не публикуют.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Codealot, Вы писали:
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
Там всё плохо и даже иногда хуже:
— результаты непроверяемы, кода нет;
— код есть, но он не работает или работает неверно;
— код есть, работает, но результаты в корне отличаются от заявленного в статье;
— всё есть и работает, как в статье.
P.S. В РФ сейчас ИТМО сильно и публично топит за open source в научных исследованиях и развивает культуру, хотя уже многие так делают и сами. Есть пара статей-размышленний, почему в мире с качеством научных публикаций так плохо и что можно сделать: раз и два.
Здравствуйте, Codealot, Вы писали:
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
Объем статьи в журнале обычно ограничен, и исходный код там просто не поместится. Тем более, что он может быть частью какой-то suite, сделанной авторами для тестирования своих алгоритмов.
Иногда исходный код выкладывают куда-то и дают ссылку.
Здравствуйте, Codealot, Вы писали:
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
Кстати, кроме самих программ, есть ещё две проблемы, а именно исходные данные и результаты.
Исходный код может быть доступен, но данные, на которых были получены результаты, выдаются только строго ограниченному кругу лиц. Хорошо, если есть почта автора, туда можно написать письмо и сказать, зачем оно тебе надо — иногда даже присылают! Часто работают с закрытыми датасетами и даже с готовым кодом воспроизвести результат почти невозможно.
Результат сейчас для статей по нейросетям — это сама обученная нейросеть. Данные — открытый датасет, код опубликован, но весов нейросети нет. Что делать? Самому тренировать. Тренируешь — не сходится обучение или сходится к сильно другому результату, потому что обучение — это штука стохастическая, зависящая как минимум от генератора случайных чисел. По факту, зависит от множества причин кроме этого.
Добрый день! А подскажите, пожалуйста, правильно ли я понимаю, что сами ученые код обычно не пишут, и кодирование предлагаемых алгоритмов выполняют другие люди на подходящем языке (аспиранты, например)?
Здравствуйте, Быдлокодер, Вы писали:
Б>Добрый день! А подскажите, пожалуйста, правильно ли я понимаю, что сами ученые код обычно не пишут, и кодирование предлагаемых алгоритмов выполняют другие люди на подходящем языке (аспиранты, например)?
Аспиранты — вообще-то будущие ученые. Но это мимоходом.
По-разному бывает, и зависит от специальности.
Например, научный сотрудник придумал некий метод расчета в своей области, но он не программист. Возможно, он привлечет кого-то из программистов для написания программы. Не обязательно аспиранта, может, просто кого-то по совместительству.
Другой вариант. Он когда-то сам писал программы, но давно уже этим не занимается и написать на нынешнем уровне и нынешних языках не сможет. Тоже привлекает кого-то. Может, своих учеников.
Здравствуйте, Codealot, Вы писали:
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
Разные есть. Есть и те, что сразу дают ссылку на код, которые реализует идею в статье (но статьи нынче редкость, обычно препринты на 4 странички).
Здравствуйте, Быдлокодер, Вы писали:
Б>Добрый день! А подскажите, пожалуйста, правильно ли я понимаю, что сами ученые код обычно не пишут, и кодирование предлагаемых алгоритмов выполняют другие люди на подходящем языке (аспиранты, например)?
Пишут. Но чаще всего их код плохо применим для прода и для прода уже садят программистов, которые изучают статью, код и переделывают его для прода.
Здравствуйте, Codealot, Вы писали:
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
Вспомнил в интернете был один шутник, который писал по одной "научной работе" в день и публиковал на сайте.
Здравствуйте, LaptevVV, Вы писали:
LVV>Где смотрел-то ?
На сайхабе, где еще. Если ты про оригинальную публикацию, то например одна была в Acta Informatica.
LVV>А то программы в научных журналах обычно не публикуют.
PD>>Объем статьи в журнале обычно ограничен, и исходный код там просто не поместится.
C>Этот случай мы исключаем. И в любом случае, можно выложить куда-то еще.
LVV>>Где смотрел-то ? C>На сайхабе, где еще. Если ты про оригинальную публикацию, то например одна была в Acta Informatica. LVV>>А то программы в научных журналах обычно не публикуют. C>То есть, джентльменам должны верить на слово.
Ну, наверное, программа не является результатом научного исследования.
Научное исследование — это алгоритм.
А программа по алгоритму можно написать на любом языке.
Да еще и разными способами.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Мда, печально. Хотя во многом напоминает корпоративщину.
Нужно делать новые фичи, за это тебя повысят. Чем больше фич, тем лучше. Главное, чтобы проходили поверхностную проверку.
Фиксить баги? Только если пользователи уже начали собирать толпу для линчевания.
Тестировать? Делать рефакторинг? Да упаси боже, что за глупые идеи.
Хотя похоже, что у теоретиков все еще хуже, чем у нас.
Здравствуйте, Codealot, Вы писали:
C>Посмотрел несколько публикаций по алгоритмам. Есть описание идеи алгоритма и немного псевдокода, исходного кода нет ни в одной. Зато есть результаты замеров скорости. Джентльмены верят друг другу на слово, или при ревью код все-же проверяется в каком-то приватном порядке?
из баек, которые я слышал пока работал в науке, так это был один ученый, который после завершения проекта доставал из компа винт и ложил его на полку, чтобы в будущем ничего случайно не потереть и всегда иметь в будущем возможность воспроизвести результаты. вот да, такие вот методы тоже бывают.
Здравствуйте, Nuzhny, Вы писали:
N>Там всё плохо и даже иногда хуже: N>- результаты непроверяемы, кода нет; N>- код есть, но он не работает или работает неверно; N>- код есть, работает, но результаты в корне отличаются от заявленного в статье; N>- всё есть и работает, как в статье.
Именно так. Причём, по моему опыту непроверяемость начинается с молчания в ответ на вежливую просьбу к авторам показать код, на нём же и закачнивается.
Проблема ведь не столько в том, что код авторов не доступен, — хрен бы с ним — а в причине. Язык статей зачастую некорректный и неоднозначный, так что воспроизвести алгоритм стороннему человеку очень проблематично.
Может быть, у авторов всё сходится, и вообще они какой-то продукт запилили и продают на основе своих научных трудов.
А может быть просто туфту в журнал загнали, а рецензентам пофиг или наоборот заинтересованы шлак пропустить.
Может быть, просто лень, стыдно за качество кода и ещё что-то личное субъективное, но сути это не меняет — есть какая-то писанина, причём в высокорейтинговом журнале, и она непроверяема.
И если таких статей большинство, журнал превращается в сборник неполных технических отчётов.
Такие журналы можно использовать в качестве стороннего проверяющего, типа, когда в корпе в отделе R&D алгоритм должен быть "одобрен" сторонним дядей из академии, и это можно показать как признак качества своему манагеру. Но какой смысл по таким статьям давать учёную степень...