Конкурсы научного программирования

15

Я регулярно участвую в так называемых «соревнованиях по программированию», где вы решаете сложные алгоритмические задачи с помощью собственного кода и навыков решения проблем в течение ограниченного периода времени. Для получения справочных примеров того, как они могут выглядеть, найдите соревнования, например, Google Code Jam или ACM-ICPC.

(Если вы знаете, что такое соревнования по программированию, вы можете пропустить следующий абзац)

В этих соревнованиях вы можете соревноваться как индивидуально, так и в команде, на физическом сайте или в Интернете, и цель состоит в том, чтобы решить как можно больше проблем до окончания соревнования. Каждая проблема связана с определенными ограничениями, которые ваше решение должно выполнить, такими как время выполнения, используемая память и т. Д. Сложность проблемы может варьироваться от «очевидных способов решения» до «требующих больших знаний или большой изобретательности для взлома». Главная цель, конечно, повеселиться, но в некоторых случаях успех может привести к денежным призами, чести и случайности, даже к собеседованию с вербовщиками из первоклассных компаний, таких как Google.

(Если вы пропустили предыдущий абзац, прекратите пропуск, потому что здесь возникает мой вопрос)

Благодаря соревнованиям по программированию я смог проявить неподдельный интерес к алгоритмике, информатике в целом и общему смыслу, когда речь заходит о кодировании и развитии моих навыков решения проблем. Я хотел бы сделать это и в научных вычислениях.

Вопрос: существуют ли какие-либо соревнования в том же духе, что и чисто алгоритмический, но с упором на численный анализ, оптимизацию и так далее?

Я попробовал Googling, но не смог найти ничего на первый взгляд ...

Приложение: Я получил предложение проверить Project Euler, но это не совсем то, что я искал. То, что я хочу, - это больше практиковать более «грязные» виды чисел, такие как креативность с помощью схем решения для pde, решение задач численной оптимизации и так далее. Для сравнения, Kaggle - это сайт, где вы можете практиковаться в интеллектуальном анализе данных, машинном обучении и т. Д. В различных регулярно проводимых конкурсах. Я хочу что-то подобное, но для реализации и творчества с числовыми схемами и тому подобным.

A.Sh
источник
1
Посмотрите на Project Euler: https://projecteuler.net/ . Это математические задачи, которые имеют сильный вычислительный компонент.
GoHokies
@ GoHokies Спасибо за предложение, но я был участником там в течение хороших трех лет до сих пор (более 100 проблем также решены). Этот сайт немного более "чистый" / комбинаторный в математике, чем я хочу. То, что я ищу, - это больше арена для практики более «грязных» вещей, таких как численное решение pde или применение методов / алгоритмов оптимизации. Вы не делаете этого на соревнованиях по программированию, также вы не делаете это на Project Euler или подобных сайтах. Например, Kaggle - это сайт для конкурсов интеллектуального анализа данных, я хочу что-то подобное для конкретных чисел.
А.Ш.

Ответы:

12

Я не знаю ни о каких текущих конкурсах, но вы определенно можете взглянуть на 100-значный вызов SIAM. Это набор из 10 задач, для которых в конкурсе требовалось 10 правильных цифр на задачу. Все проблемы относятся к типу «если делать это вслепую, вы получите только пару цифр» (если только вы не прибегли к арифметике с высокой точностью, а в некоторых случаях требуется огромное количество цифр). Смотрите здесь на странице Википедии с только проблемы и 10-значный решения

В книге « 100-значный вызов SIAM » обсуждаются все десять проблем и предлагаются различные подходы для получения правильных 10 или более цифр. Я от всей души рекомендую это. Но интересно сначала попробовать, не заглядывая, а потом прочитать обо всех аккуратных численных алгоритмах, которые существуют для решения этих проблем.

GertVdE
источник
По крайней мере, это именно тот тип проблем, которые я ищу. Я тоже посмотрю ссылки в вики-статье.
А.Ш.
Да, это была большая коллекция проблем. Мне очень понравилось думать о них, когда они вышли!
Вольфганг Бангерт
3

Одним из альтернативных вариантов могут стать соревнования в области топ-кодеров. Это не соответствует вашему описанию, но вы можете встретить очень часто конкурсы, которые представляют собой комбинацию алгоритмов - комбинаторное - численное исчисление - машинное обучение. Я бы за ними следил.

Ссылка на домашнюю страницу соревнований по науке о данных находится здесь .

Аврелиан Тутуяну
источник
2

Вы видели соревнования, организованные GECCO (Конференция по генетическим и эволюционным вычислениям)? http://gecco-2016.sigevo.org/index.html/HomePage#&panel1-1

На этой странице можно найти несколько различных конкурсов для конференции 2016 года: http://gecco-2016.sigevo.org/index.html/Competitions

В некоторых соревнованиях можно участвовать, даже если вы не собираетесь посещать конференцию.

Лисистрата
источник
Я никогда не слышал о них до сих пор. Спасибо за чаевые!
А.Ш.