質問

アンダーグラード中、私の教育が主に現実世界の問題に対する既存の理論を適用することを主に感じました(すなわち、アルゴリズム設計/分析)。私は多くのアルゴリズムと彼らの複雑さの証明の派生を見ました、しかし私はしばしばアルゴリズムを発見する方法の問題に悩まされていました。効果的なアプローチの作成に関与する創意工夫を考えると、新規なアルゴリズムを開発することを想像するように思われる。その創意工夫を訓練する方法があるかどうか疑問に思います。

私の質問は、定量的な問題へのオリジナルのアプローチを開発するために必要なスキルを育成する方法ですか?これらのスキルに集中するリソースはありますか?

役に立ちましたか?

解決

競争力のあるプログラミングがあなたを助けるかもしれないようです。またはその一部の一部だけです。あなたがあなたの問題解決スキルを磨きたいのなら(そしてそれゆえ元のアイデアを思いつくあなたの能力)、競争上の問題を解決することは、デザインターゲットのこのスキルによって彼らが行くための方法であるようです。

あなたは2種類のリソースを必要とするでしょう:問題のアーカイブと理論の材料。

問題のアーカイブには、試してみることができます

  • timus.online (~270の難易度の後にいくつかの賢い洞察/観察を必要とする問題)
  • codeForces.org (問題設定タブ、豊富な問題の多種多様なものですが、全体的な品質はティムサスのそれよりやや低いです。 )
  • > onlinejude.org (Uhunでは、多種多様な問題をカバーするテーブルがあります。のためのサプリメント競争力のあるプログラミング3)
  • urionlinejudge.com.BR (いくつかの大きな問題を抱えている)

また、 atcoder.co.jp はCodeFuceのようですが、主に数学関連の問題をターゲットにしています。

オリジナルのアイデアを見つけるための鍵は、人々がすでに思い付いたのかを知ることです。あなたがこれらのアイデアを理解し、彼らを比較的簡単に適用することができるならば、あなたはこれらの古いアイデアを巧妙な方法で組み合わせることによって賢い考えを思いつくことができますb)あなたは何ではないのか知っているからはるかに効率的に新しいアイデアを検索することができます新しいアイデアと新しいアイデアを見つけるための新しい考え方ではありません。

前の段落に同意する場合は、新しい概念やアイデアを学ぶことができるようになるリソースが必要です。これを持つ鍵は、定理またはアルゴリズムを理解するだけでなく、その直感と証明も証明を理解することです。証明は、考えやすくする方法に関して、考え方がどのように機能するかについて明確な洞察を与えます。証明で使用されているトリックとアルゴリズムを理解することはあなた自身のアイデアを思いつくための鍵です。

直感は暗黙的な洞察である、それは問題、その証明(またはプルーフのサブセット)と一般的な問題のトピックを結ぶものです。私はこれを言うように言うように、あなたがその直感が魔法のようなものであるとは思わないか、あなたが証明を読んだときにそれを得なかったならば、あなたはまったくそれを手に入れることはできません。それを取得するには、次の手順を実行する必要があります。

  • 解決策を見る前に、少なくとも30分間考えてみてください(私のために、落書きは直感的な解決策を思いつくために多くのことを助けます)
  • それで、あなたが100%うまくいくと思ういくつかのアイデアがあると感じているならば、あなたはあなたの脳の中でそれらをかなり届くことはできません、それをあきらめないでください。睡眠。問題について考えることができないならば、あなたは目を覚ますときにいくつかの洞察を得ることを確実にします。 ( https://psychology.stackexchange.com/a/13366 +私の経験)。
  • あなたが問題を解決したかどうかに依存していないかどうか、またはそのような手順の後には、証明を開くときには、読むので、それらを吸収して分析することができます。アイデアを知らないのではなく、あなたの考えがうまくいかなかったのかを知るために、あなたがあなたの考えを間違えたのか、あなたが逃したこと、なぜあなたが焦点を当てたのか、とにかくそれを解決することを知っていなければならなかったのですか。(これは sq3r < / a>メソッドは、最初にテキストに質問してから、質問に答える方法として読むことができます。パッシブリーディングの代わりにアクティブな読書)。
  • あなたが証書からいくつかのガイドの直感を抽出することができたら、おめでとうございます!今、この問題について忘れて、2~3日後に戻ってきて、同じトピックで別の類似または少し難しい問題を解決してください。このようにあなたはあなたの脳にこの直感を「インプリント」するようになるので、比較的長い時間の間、言うように(繰り返し)
  • あなたがそうでなければ悲しいことではありません。証明がどのように機能するかを多かれ少なかれ理解しました。これは、残っている唯一のものはそれらをどういうわけか直感で統合することです。それを行うことは、同じ一般的なトピック(文字列、グラフ、数論など)の問題を解決し続けるだけです。直感はいくつかの具体的な問題に拘束されません(それがあった場合、その直感は他の問題を解決するのを助けることができないでしょう)、他の問題の背後にある直感を理解するならば、あなたは当然のことながら元の問題の背後にある直感を理解するでしょう。 !

大丈夫です。これで、あなたは効率的なアイデアを効率的に把握することができるでしょう、直感とインゲンイートを理解することができます

後ろにy。これらはもっともらしいリソースです(ただし、私はすでにそれらを使うかもしれないと思います):

  1. アルゴリズムの紹介。 Cormen
  2. geekforgeeks.com
  3. wikipedia.com(真剣に、彼らはいくつかのアルゴリズムに素晴らしい記事を持っています)
  4. > VisualGo.net (特に視覚的な学習者であれば)
  5. この時点での経験から、あなたは自分で元のアイデアと自然に来ることができるでしょう。あなたはアイデア間の接続をはっきりと見ることができ、彼らはあなたの頭の中に飛び込むだけでよいでしょう。問題を解決すると、あなたの脳内の神経経路を維持し、あなたはあなたが建設した理論的基礎と直感を忘れません。問題を解決すると、新しいニューラル接続も構築し、新しい洞察を発見するときに喜びをもたらすでしょう。

    最後に、あなたの洞察が以前に学んだことが何もないならば、それは価値を持っています。たとえそれが単純だったとしても、あなたが一緒に2つのアイデアを組み合わせるならば、あなたは新しいアイデアを得るでしょう、そしてそれは価値があるでしょう。いかなる場合も、そのようなアイデアを思いつくたびに、あなたは価値のあるものを作成します。あなたの目標が貴重なものを思い付くことになるでしょう、それからあなたは毎回成功するでしょう。あなたの目標が「オリジナルの洞察」を思い付くことになるでしょう、それからあなたがすることに関係なく、あなたがすることに関係なく、おそらく最も故障するでしょう(確かに確かに)。最後に、あなたがこれらのステップに従うか似たものに従うならば、あなたは良くない!確かに、将来的には、あなたのアイデアの10分の1は本当にオリジナルのものになるでしょう。)

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top