Concorsi di programmazione scientifica


15

Faccio regolarmente parte dei cosiddetti "Concorsi di programmazione", in cui risolvi difficili problemi algoritmici con il tuo codice e le tue capacità di risoluzione dei problemi in un arco di tempo limitato. Per esempi referenziali di come potrebbero apparire, cerca concorsi come ad esempio Google Code Jam o ACM-ICPC.

(Se sai quali sono i concorsi di programmazione, puoi saltare il seguente paragrafo)

In questi concorsi, è possibile competere individualmente o in team, in un sito fisico o online, e l'obiettivo è quello di risolvere il maggior numero possibile di problemi prima della fine del concorso. Ogni problema è associato a determinati vincoli che la tua soluzione deve soddisfare, come il tempo di esecuzione, la memoria utilizzata, ecc. La difficoltà del problema può variare da "ovvio come risolvere" a "esigenza di grandi conoscenze o ingenuità ingegnosa da decifrare". L'obiettivo principale è ovviamente divertirsi, ma in alcuni casi il successo può portare a premi in denaro, onorificenze e probabilità persino a un'intervista con reclutatori di aziende di prim'ordine come Google.

(Se hai saltato il paragrafo precedente, smetti di saltare, perché ecco la mia domanda)

Attraverso concorsi di programmazione sono stato in grado di sviluppare un genuino interesse per l'algoritmo, l'informatica in generale e un senso generale del significato quando si tratta di codificare e sviluppare le mie capacità di problem solving. Mi piacerebbe farlo anche nel calcolo scientifico.

Domanda: Esistono delle competizioni nella stessa ottica del tipo puramente algoritmico, ma con un'attenzione particolare all'analisi numerica, all'ottimizzazione e così via?

Ho provato a cercare su Google, ma a prima vista non ne ho trovato nessuno ...

Addendum: ho avuto il suggerimento di dare un'occhiata al Project Euler, ma non è proprio quello che stavo cercando. Quello che voglio è più un'arena per praticare il tipo più numerico di "sporco", come diventare creativi con schemi di soluzione per PDE, risolvere problemi di ottimizzazione numerica, eccetera. Solo per confronto, Kaggle è un sito in cui è possibile praticare il data mining, l'apprendimento automatico ecc. In vari concorsi organizzati regolarmente. Voglio qualcosa del genere, ma per implementare e diventare creativo con schemi numerici e simili.


1
Dai un'occhiata a Project Euler: https://projecteuler.net/ . Questi sono problemi matematici che hanno una forte componente computazionale.
GoHokies

@GoHokies Grazie per il suggerimento, ma sono stato un membro lì per ben tre anni fino ad ora (oltre 100 problemi risolti anche). Quel sito è un po 'più "puro" / combinatorio in matematica di quello che voglio. Quello che sto cercando è più di un'arena per praticare il genere più "sporco" di cose, come risolvere numericamente pde o applicare metodi / algoritmi di ottimizzazione. Non lo fai davvero nei concorsi di programmazione, né lo fai su Project Euler o siti simili. Ad esempio, Kaggle è un sito per concorsi di data mining, voglio qualcosa di simile per i numeri concreti.
A.Sh

Risposte:


12

Non conosco nessun concorso in corso, ma puoi sicuramente dare un'occhiata alla sfida SIAM a 100 cifre. È un insieme di 10 problemi per i quali il contest ha richiesto 10 cifre corrette per problema. Tutti i problemi sono del tipo "se lo fai ciecamente, otterrai solo un paio di cifre" (a meno che tu non abbia fatto ricorso all'aritmetica multi-precisione con in alcuni casi una quantità enorme di cifre necessarie). Vedi qui per la pagina di Wikipedia con solo le sfide e le soluzioni a 10 cifre

Il libro " The SIAM 100-Digit Challenge " discute tutti e dieci i problemi e fornisce approcci diversi per ottenere 10 o anche più cifre corrette. Lo consiglio vivamente. Ma è divertente provare prima senza sbirciare e poi leggere tutti gli algoritmi numerici accurati che esistono per risolvere quei problemi.


Questo è esattamente il tipo di problemi che sto cercando, almeno. Vedrò anche i riferimenti nell'articolo Wiki.
A.Sh

Sì, è stata una grande raccolta di problemi. Mi è piaciuto molto pensare a loro quando sono usciti!
Wolfgang Bangerth,

3

Un'alternativa sarebbero le migliori competizioni di data science per programmatori. Non si adatta alla tua descrizione, ma puoi incontrare molto spesso concorsi che sono una combinazione di algoritmi - calcolo combinatorio - calcolo numerico - apprendimento automatico. Vorrei tenere d'occhio quelli.

Un link alla home page per le competizioni di data science è qui .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.