Frage

Während des Undergrads hatte ich das Gefühl, dass meine Ausbildung meistens bestand, bestehende Theorie auf reale Probleme aufzuwarten (dh Algorithmusdesign / Analyse).Ich habe Ableitungen von vielen Algorithmen und Beweise ihrer Komplexität gesehen, aber ich bin oft von der Frage, wie man kommt, um einen Algorithmus zu entdecken.Es scheint entmutigend zu sein, sich vorzustellen, einen neuen Algorithmus zu entwickeln, der den Einfallsreichtum an einem wirksamen Ansatz beteiligt ist.Ich frage mich, ob es Möglichkeiten gibt, diesen Einfallsreichtum zu trainieren.

Meine Frage ist, wie ich die erforderlichen Fähigkeiten kultivieren kann, um ursprüngliche Ansätze für quantitative Probleme zu entwickeln?Gibt es Ressourcen, die sich auf diese Fähigkeiten konzentrieren?

War es hilfreich?

Lösung

Es scheint, dass die wettbewerbsfähige Programmierung Ihnen helfen könnte. Oder nur die "Programmierung" -Teile davon. Wenn Sie Ihre Problemlösungsfähigkeiten verbessern möchten (und daher Ihre Fähigkeit, mit originellen Ideen aufzukommen), scheint es, dass das Lösen von wettbewerbsfähigen Problemen der Weg ist, da sie durch Design diese Fähigkeit zielen.

Sie benötigen zwei Arten von Ressourcen: Problemarchive und Theoriematerialien.

Für Problemarchive kann ich Ihnen vorschlagen, dass Sie es ausprobieren können

    .
  • timus.online (Probleme, die einige clevere Erkenntnisse / Beobachtungen erfordern, die nach ~ 270 Schwierigkeiten starten)
  • codeforce.org (Problemset-Registerkarte, reicherrige Vielfalt von Problemen, aber die Gesamtqualität ist etwas niedriger als das auf dem Timus )
  • OnlineJudge.org (in ähunt gibt es einen Tisch mit Problemen, die eine Vielzahl von Problemen abdecken; eine Ergänzung für die buchen Sie wettbewerbsfähige Programmierung 3)
  • urionlinejudge.com.br (hat einige tolle Probleme)

auch, es gibt auch atcoder.co.jp , das wie CodeForces ist, aber in erster Linie mathematische Probleme anstrebt.

Der Schlüssel, um originelle Ideen zu finden, besteht darin, zu wissen, was die Menschen bereits aufgestellt haben. Wenn Sie diese Ideen verstehen und sie relativ leicht anwenden können, dann kann Sie eine klugere Idee durchführen, indem Sie diese älteren Ideen in einem kluger Weg und b) Sie können wesentlich effizienter nach grundsätzlich neuen Ideen suchen, weil Sie wissen, was nicht wissen Eine neue Idee und was ist nicht die neue Denkweise, um neue Ideen zu finden.

Wenn Sie mit dem vorherigen Absatz einverstanden sind, benötigen Sie Ressourcen, in denen Sie neue Konzepte und Ideen lernen können. Der Schlüssel damit ist, den Satz oder den Algorithmus nicht nur zu verstehen, sondern auch die Intuition und den Beweis (n) zu verstehen. Beweise geben expliziten Einblickegenheiten an, wie Sie kommen und wie Sie sicher sind, dass die Idee funktioniert. Die in den Beweisen verwendeten Tricks und Algorithmen (des Denkens) ist der Schlüssel, um sich mit Ihren eigenen Ideen zu finden.

Intuition dagegen ist ein impliziter Einblick, es ist etwas, das Probleme, ihre Beweise (oder eine Teilmenge von Beweise) und das Thema des Problems im Allgemeinen verbindet. Ich sage das, damit Sie nicht denken würden, dass die Intuition etwas Magisches ist oder dass, wenn Sie es nicht bekommen, wenn Sie einen Beweis lesen, dann würden Sie es überhaupt nicht bekommen. Um es zu erwerben, müssen Sie diese Schritte ausführen

okay, so. Damit können Sie die alten Ideen effizient erfassen, den Intuition und Ingenuit verstehen

y hinter ihnen. Dies sind plausible Ressourcen (obwohl ich glaube, Sie könnten sie bereits verwenden):

    .
  1. Einführung in Algorithmen. Cormmen
  2. geekforeeks.com
  3. wikipedia.com (ernst, sie haben tolle Artikel zu einigen Algorithmen)
  4. visualgo.net (vor allem, wenn Sie ein visueller Lernender sind;)
  5. Von meiner Erfahrung an diesem Punkt können Sie von Ihnen selbst und natürlich mit originellen Ideen kommen. Sie können die Verbindungen zwischen den Ideen eindeutig sehen, und sie werden einfach in Ihren Kopf eintauchen. Durch das Lösen von Problemen werden die neuronalen Wege in Ihrem Gehirn aufrechterhalten, und Sie werden nicht die theoretische Basis und Intuition vergessen, die Sie gebaut haben. Die Lösung von Problemen bauen auch neue neuronale Verbindungen auf und bringen Freude, wenn Sie neue Erkenntnisse entdecken.

    Schluss, ich möchte sagen, dass, wenn Ihre Einsicht nichts zuvor gelernt haben, dann hat es Wert. Wenn Sie zwei Ideen zusammen kombinieren, auch wenn es einfach war, erhalten Sie eine neue Idee und es wird Wert haben. Jedes Mal, wenn Sie solche Ideen auftreten, schaffen Sie auf jeden Fall etwas Wertvolles. Wenn Ihr Ziel sein würde, etwas wertvoll zu machen, dann werden Sie jedes Mal erfolgreich sein. Wenn Ihr Ziel ein "ursprünglicher Einblick" auftreten würde, dann werden Sie schnell, um schwer demotiviert zu werden, da Sie egal, was Sie tun, höchstwahrscheinlich versagen (am Anfang sicher). Wenn Sie am Ende diesen Schritten folgen, oder etwas Ähnliches, können Sie nicht besser werden! Sicher, etwas in der Zukunft, wird jedes Zehntel Ihrer Ideen ein wahrhaft originales sein;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top