Pregunta

Durante la licenciatura sentí que mi educación consistía principalmente en aplicar la teoría existente a problemas del mundo real (es decir,diseño/análisis de algoritmos).He visto derivaciones de muchos algoritmos y pruebas de su complejidad, pero a menudo me preocupa la pregunta de cómo se llega a descubrir un algoritmo.Parece desalentador imaginar el desarrollo de un algoritmo novedoso, dado el ingenio que implica elaborar un enfoque eficaz.Me pregunto si hay formas de entrenar ese ingenio.

Mi pregunta es, ¿cómo puedo cultivar las habilidades necesarias para desarrollar enfoques originales a problemas cuantitativos?¿Existen recursos que se centren en estas habilidades?

¿Fue útil?

Solución

Parece que la programación competitiva podría ayudarte.O simplemente la parte de "programación".Si desea perfeccionar sus habilidades para resolver problemas (y, por lo tanto, su capacidad para generar ideas originales), parece que resolver problemas competitivos es el camino a seguir, ya que, por diseño, apuntan a esta habilidad.

Necesitaría dos tipos de recursos:archivos de problemas y materiales teóricos.

Para archivos problemáticos, puedo sugerirle que pruebe

  • timus.online (los problemas que requieren algunas ideas/observaciones inteligentes comienzan después de ~270 de dificultad)
  • codeforces.org (pestaña de conjunto de problemas, variedad más rica de problemas, pero la calidad general es algo menor que la del timus)
  • juezenlinea.org (en uHunt hay una tabla con problemas que cubren una gran variedad de problemas;un suplemento para el libro Programación Competitiva 3)
  • urionlinejudge.com.br (tiene grandes problemas)

Además, hay atcoder.co.jp que es como codeforces pero apunta principalmente a problemas relacionados con las matemáticas.

La clave para encontrar ideas originales es saber qué se le ha ocurrido a la gente ya.Si comprende estas ideas y puede aplicarlas con relativa facilidad, entonces a) podrá generar una idea inteligente combinando estas ideas más antiguas de una manera inteligente yb) podrá buscar ideas fundamentalmente nuevas de manera mucho más eficiente porque sabe lo que no es una nueva idea y cuál no es la nueva forma de pensar para encontrar nuevas ideas.

Si estás de acuerdo con el párrafo anterior, entonces necesitarás recursos donde podrás aprender nuevos conceptos e ideas.La clave con esto es no sólo comprender el teorema o el algoritmo, sino también comprender la intuición y las pruebas.Las pruebas dan una idea explícita de cómo llegar a una idea y cómo asegurarse de que funciona.Comprender los trucos y algoritmos (de pensamiento) utilizados en las pruebas es la clave para generar tus propias ideas.

La intuición, por otro lado, es una percepción implícita, es algo que conecta los problemas, sus pruebas (o un subconjunto de pruebas) y el tema del problema en general.Digo esto para que no pienses que la intuición es algo mágico o que si no la entendiste cuando leíste una prueba entonces no la entenderás en absoluto.Para adquirirlo tienes que realizar estos pasos

  • Antes de ver la solución, intenta pensar en ella durante al menos 30 minutos (para mí, hacer garabatos ayuda mucho a encontrar soluciones intuitivas)
  • Luego, si sientes que algunas ideas que crees que van a funcionar al 100% están ahí pero no puedes alcanzarlas en tu cerebro, no te rindas y consérvalas hasta que te vayas a dormir.Si no puedes dormir pensando en el problema, seguramente obtendrás una idea cuando te despiertes.(https://psychology.stackexchange.com/a/13366 + mi experiencia).
  • Sin depender de si ha resuelto el problema o no después de dicho procedimiento, cuando abra las pruebas, podrá absorberlas y analizarlas de manera mucho más eficiente, ya que leerá para no saber. las ideas, sino descubrir por qué tus ideas no funcionaban, qué tan cerca estabas, dónde cometiste un error en tu forma de pensar, qué te perdiste, por qué aquello en lo que te concentraste demasiado no era tan relevante, qué había que saberlo para solucionarlo de todos modos, etc.etc....(así es como SQ3R El método también funciona, te hace cuestionar el texto primero y solo después te permite leerlo como una forma de responder las preguntas;una lectura activa, en lugar de una lectura pasiva).
  • Si pudiste extraer alguna intuición guía de las pruebas, ¡felicidades!Ahora olvídate de este problema y vuelve después de dos o tres días y resuelve otro problema similar o un poco más difícil sobre el mismo tema.De esta manera "imprimirás" esta intuición en tu cerebro, por así decirlo, durante un tiempo relativamente largo (Ver, repetición espaciada)
  • Si no lo has hecho, no estés triste.Entendiste más o menos cómo funcionan las pruebas.Esto quiere decir que lo único que queda es unirlos de alguna manera con la intuición.Para hacerlo, simplemente continúe resolviendo problemas sobre el mismo tema general (cadenas, gráficas, teoría de números, etc.).La intuición no está ligada a ningún problema concreto (si así fuera, la intuición no podría ayudar a resolver otros problemas), si entiendes las intuiciones detrás de otros problemas entonces, naturalmente, también entenderás la intuición detrás del problema original. !

Bueno entonces.Con esto, podrás captar las viejas ideas de manera eficiente, comprender la intuición y el ingenio detrás de ellas.Estos son recursos plausibles (aunque creo que es posible que ya los utilices):

  1. Introducción a los algoritmos.cormen
  2. geekforgeeks.com
  3. wikipedia.com (en serio, tienen excelentes artículos sobre algunos algoritmos)
  4. visualgo.net (especialmente si eres un aprendiz visual;)

Según mi experiencia a estas alturas, podrás llegar a ideas originales por ti mismo y de forma natural.Podrás ver claramente las conexiones entre las ideas y empezarán a aparecer en tu cabeza.Resolver problemas mantendrá las vías neuronales de tu cerebro y no olvidarás la base teórica y la intuición que has construido.Resolver problemas también creará nuevas conexiones neuronales y le brindará alegría al descubrir nuevos conocimientos.

Por último, quiero decir que si tu conocimiento no es nada que hayas aprendido antes, entonces tiene valor.Si combinas dos ideas, aunque sea simple, obtendrás una idea nueva y tendrá valor.Cada vez que se te ocurren ideas así, en cualquier caso, creas algo valioso.Si su objetivo es crear algo valioso, siempre lo logrará.Si su objetivo es llegar a una "idea original", rápidamente se desmotivará gravemente, ya que no importa lo que haga, lo más probable es que fracase (al principio, seguro).Al final, si sigues estos pasos o algo similar, ¡no podrás mejorar!Seguramente, en el futuro, una de cada diez de tus ideas será verdaderamente original ;)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top