Ich nehme regelmäßig an sogenannten "Programmierwettbewerben" teil, bei denen Sie schwierige algorithmische Probleme mit Ihrem eigenen Code und Problemlösungsfähigkeiten in einem begrenzten Zeitraum lösen. Für Referenzbeispiele, wie diese aussehen könnten, suchen Sie nach Wettbewerben wie z. B. Google Code Jam oder ACM-ICPC.
(Wenn Sie wissen, was Programmierwettbewerbe sind, können Sie den folgenden Absatz überspringen.)
Bei diesen Wettbewerben können Sie entweder einzeln oder in Teams an einem physischen Ort oder online antreten. Ziel ist es, so viele Probleme wie möglich zu lösen, bevor der Wettbewerb beendet ist. Jedes Problem ist mit bestimmten Einschränkungen verbunden, die Ihre Lösung erfüllen muss, z. B. Laufzeit, belegter Speicherplatz usw. Die Schwierigkeit des Problems kann von "offensichtlichen Lösungsansätzen" bis zu "hohen Anforderungen an das Wissen oder hohem Einfallsreichtum beim Knacken" reichen. Das Hauptziel ist natürlich, Spaß zu haben, aber Erfolg kann in einigen Fällen zu Geldpreisen, Ehre und vielleicht sogar zu einem Interview mit Personalvermittlern erstklassiger Unternehmen wie Google führen.
(Wenn Sie den obigen Absatz übersprungen haben, hören Sie auf zu überspringen, denn hier kommt meine Frage)
Durch Programmierwettbewerbe konnte ich ein echtes Interesse für Algorithmen, Informatik im Allgemeinen und ein allgemeines Verständnis für das Kodieren und Entwickeln meiner Fähigkeiten zur Problemlösung entwickeln. Das möchte ich auch im wissenschaftlichen Rechnen tun.
Frage: Gibt es Wettbewerbe in der gleichen Art wie die rein algorithmischen, jedoch mit Schwerpunkt auf numerischer Analyse, Optimierung und so weiter?
Ich habe es mit Googeln versucht, konnte aber auf den ersten Blick keine finden ...
Nachtrag: Ich habe den Vorschlag bekommen, Project Euler zu testen, aber das ist nicht wirklich das, wonach ich gesucht habe. Was ich will, ist mehr eine Arena, um die "schmutzigeren" Arten von Zahlen zu üben, wie kreativ zu werden mit Lösungsschemata für PDEs, numerische Optimierungsprobleme zu lösen und so weiter. Zum Vergleich: In Kaggle können Sie Data Mining, maschinelles Lernen usw. in verschiedenen Wettbewerben üben, die regelmäßig stattfinden. Ich möchte so etwas, aber um mit numerischen Schemata und dergleichen kreativ zu werden.
Antworten:
Ich kenne keine aktuellen Wettbewerbe, aber Sie können auf jeden Fall einen Blick auf die SIAM 100-stellige Herausforderung werfen. Es ist ein Satz von 10 Problemen, für die der Wettbewerb 10 korrekte Stellen pro Problem erforderte. Alle Probleme sind vom Typ "Wenn Sie es blind machen, erhalten Sie nur ein paar Ziffern" (es sei denn, Sie haben auf Multipräzisionsarithmetik mit in einigen Fällen sehr vielen benötigten Ziffern zurückgegriffen). Die Wikipedia-Seite mit den Herausforderungen und den 10-stelligen Lösungen finden Sie hier
Das Buch " The SIAM 100-Digit Challenge " behandelt alle zehn Probleme und bietet verschiedene Ansätze, um 10 oder mehr Ziffern richtig zu machen. Ich kann es nur empfehlen. Aber es macht Spaß, es zuerst zu versuchen, ohne einen Blick darauf zu werfen, und dann alle nützlichen numerischen Algorithmen zu lesen, die es gibt, um diese Probleme zu lösen.
quelle
Eine Alternative wären Top-Codierer-Data-Science-Wettbewerbe. Es passt nicht zu Ihrer Beschreibung, aber Sie können sehr oft auf Wettbewerbe stoßen, die eine Kombination aus Algorithmen - kombinatorische - numerische Berechnung - maschinelles Lernen sind. Ich würde ein Auge auf diese haben.
Ein Link zur Homepage für Data Science-Wettbewerbe ist hier .
quelle
Haben Sie die von GECCO (Genetic and Evolutionary Computation Conference) organisierten Wettbewerbe gesehen? http://gecco-2016.sigevo.org/index.html/HomePage#&panel1-1
Es gibt verschiedene Wettbewerbe für die Konferenz 2016 auf der Seite: http://gecco-2016.sigevo.org/index.html/Competitions
Einige der Wettbewerbe können versucht werden, obwohl Sie nicht die Absicht haben, an der Konferenz teilzunehmen.
quelle