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


15

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

(Якщо ви знаєте, що таке конкурси програмування, ви можете пропустити наступний параграф)

У цих змаганнях ви можете змагатись окремо або в командах, на фізичному майданчику чи в Інтернеті, а мета - вирішити якомога більше проблем до закінчення змагань. Кожна проблема пов'язана з певними обмеженнями, які має вирішити ваше рішення, наприклад, час роботи, використана пам'ять і т. Д. Проблема труднощів може варіюватися від "очевидного способу вирішення" до "вимагання великих знань або великої винахідливості до зламу". Основна мета - це, звичайно, розважитися, але успіх у деяких випадках може призвести до грошових призів, честі та успіху навіть до співбесіди з рекрутерами найкращих компаній, таких як Google.

(Якщо ви пропустили вищевказаний абзац, перестаньте пропускати, бо тут виникає моє запитання)

Завдяки конкурсам програмування я зміг розвинути непідробний інтерес до алгоритміки, інформатики загалом та загального почуття сенсу, що стосується кодування та розвитку моїх навичок вирішення проблем. Я хотів би це зробити і в наукових обчисленнях.

Запитання: Чи існують змагання в тій же самісі, що і в чисто алгоритмічному виді, але з акцентом на числовий аналіз, оптимізацію тощо?

Я спробував гуглінг, але не зміг знайти його на перший погляд ...

Додаток: Я отримав пропозицію перевірити Project Euler, але це не зовсім те, що я шукав. Що я хочу, це більше арена, щоб практикувати більш "брудний" вид числових даних, як творчість із схемами рішення для pde, вирішення задач з оптимізацією числення тощо. Тільки для порівняння, Kaggle - це сайт, де ви можете практикувати майнінг даних, машинне навчання тощо на різних конкурсах, що проводяться регулярно. Я хочу щось подібне, але для того, щоб реалізувати та проявляти творчість із числовими схемами та подібними.


1
Погляньте на проект Euler: https://projecteuler.net/ . Це математичні завдання, які мають сильну обчислювальну складову.
GoHokies

@GoHokies Дякую за пропозицію, але я був членом там уже три роки до цього часу (також вирішено понад 100 проблем). Цей сайт трохи "чистіший" / комбінаторний в математиці, ніж те, що я хочу. Що я шукаю, це більше арена, щоб практикувати більш "брудні" речі, як, наприклад, рішення чисел pde чисельно або застосування методів / алгоритмів оптимізації. Ви насправді цього не робите на конкурсах програмування, а також не робите цього на Project Euler або подібних сайтах. Наприклад, Kaggle - це сайт для проведення конкурсів з пошуку даних, я хочу щось подібне для конкретних чисел.
А.Ш.

Відповіді:


12

Я не знаю жодних поточних конкурсів, але ви точно можете ознайомитися зі 100-значним завданням SIAM. Це набір з 10 проблем, для проведення конкурсу яких було потрібно 10 правильних цифр на проблему. Усі проблеми мають тип "якщо ти це зробиш наосліп, ти отримаєш лише пару цифр" (якщо тільки ти не вдався до багатоточної арифметики, в деяких випадках потрібна величезна кількість цифр). Ознайомтесь тут на сторінці Вікіпедії, де викладені лише виклики та десятизначні рішення

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


Принаймні, саме такий тип проблем я шукаю. Я також ознайомлюсь із посиланнями у статті Wiki.
А.Ш.

Так, це була чудова колекція проблем. Я досконало сподобався думати про них, коли вони вийшли!
Вольфганг Бангерт

3

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

Посилання на головну сторінку конкурсів з наукових даних знаходиться тут .


2

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

Існує кілька різних змагань для конференції 2016 року на сторінці: http://gecco-2016.sigevo.org/index.html/Конкурси

Деякі змагання можна спробувати, навіть якщо ви не маєте наміру відвідувати конференцію.


Я ніколи навіть про них досі не чув. Дякую за пораду!
А.Ш.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.