Regularmente compito en los llamados "Concursos de programación", donde resuelves problemas algorítmicos difíciles con tu propio código y habilidades de resolución de problemas durante un período de tiempo limitado. Para obtener ejemplos referenciales de cómo se verían, busque competencias como, por ejemplo, Google Code Jam o ACM-ICPC.
(Si sabe qué son los concursos de programación, puede omitir el siguiente párrafo)
En estos concursos, puede competir individualmente o en equipo, en un sitio físico o en línea, y el objetivo es resolver tantos problemas como sea posible antes de que termine el concurso. Cada problema está asociado con ciertas restricciones que su solución debe cumplir, como el tiempo de ejecución, la memoria utilizada, etc. La dificultad del problema puede variar desde "obvio cómo resolver" hasta "exigir un gran conocimiento o un gran ingenio para resolver". El objetivo principal es, por supuesto, divertirse, pero el éxito en algunos casos puede conducir a premios en efectivo, honor y quizás incluso una entrevista con reclutadores de empresas de primer nivel como Google.
(Si omitió el párrafo anterior, deje de omitir, porque aquí viene mi pregunta)
A través de concursos de programación, he podido desarrollar un interés genuino por los algoritmos, la informática en general y un sentido general de significado cuando se trata de codificar y desarrollar mis habilidades para resolver problemas. Me gustaría hacerlo también en informática científica.
Pregunta: ¿Existe alguna competencia en el mismo sentido que el tipo puramente algorítmico, pero con un enfoque en análisis numérico, optimización, etc.?
Intenté buscar en Google, pero no pude encontrar ninguno a primera vista ...
Anexo: Recibí la sugerencia de revisar el Proyecto Euler, pero eso no es realmente lo que estaba buscando. Lo que quiero es más un campo para practicar el tipo de números más "sucios", como ser creativo con esquemas de solución para pde, resolver problemas de optimización numérica, etc. Solo para comparar, Kaggle es un sitio donde puedes practicar minería de datos, aprendizaje automático, etc. en varios concursos que se realizan regularmente. Quiero algo así, pero para implementar y ser creativo con esquemas numéricos y similares.
Respuestas:
No conozco ningún concurso actual, pero definitivamente puedes echar un vistazo al desafío SIAM de 100 dígitos. Es un conjunto de 10 problemas para los cuales el concurso requirió 10 dígitos correctos por problema. Todos los problemas son del tipo "si lo haces a ciegas, solo obtendrás un par de dígitos" (a menos que recurras a la aritmética de precisión múltiple con, en algunos casos, una gran cantidad de dígitos necesarios). Vea aquí la página de Wikipedia con solo los desafíos y las soluciones de 10 dígitos
El libro " El desafío de 100 dígitos de SIAM " analiza los diez problemas y ofrece diferentes enfoques para obtener 10 o más dígitos correctos. Lo recomiendo de todo corazón. Pero es divertido intentar primero sin mirar y luego leer sobre todos los algoritmos numéricos que existen para resolver esos problemas.
fuente
Una alternativa serían las competencias de ciencia de datos de primer nivel. No se ajusta a su descripción, pero a menudo puede encontrar concursos que son una combinación de algoritmos: cálculo combinatorio, numérico y aprendizaje automático. Yo estaría pendiente de eso.
Un enlace a la página de inicio para los concursos de ciencia de datos está aquí .
fuente
¿Has visto los concursos organizados por GECCO (Conferencia de Computación Genética y Evolutiva)? http://gecco-2016.sigevo.org/index.html/HomePage#&panel1-1
Hay varios concursos diferentes para la conferencia de 2016 en la página en: http://gecco-2016.sigevo.org/index.html/Competitions
Algunas de las competiciones pueden intentarse aunque no tenga intención de asistir a la conferencia.
fuente