アルゴリズムの開発に役立つ20の質問

難しい問題を解決するアルゴリズムを開発する方法は? 多くの人は、このためには「洞察を体験する」必要があると考えています。このプロセスは非常に合理的ではなく、創造力や才能に依存します。



実際、問題の解決策は、監視対象オブジェクトに関する情報を収集することです。 さらに、この原則は、最も複雑な研究​​問題の解決にも、適用された問題の解決にも適用できます。 発明者の仕事は、未知の領域を通る発見者の旅ほど、ウィザードの仕事に似ていません。 優れた発明者の主な品質は、情報を収集する能力です。



難しい問題を解決したい場合は、さまざまな方向で情報を収集してください。 次の20の質問に答えることで、タスクの作業計画を簡単に作成できます。



質問番号1。 誰?

特定の問題の解決を開始し、その解決策に直接関係する人々の最も長いリストを作成します。 調べる:

-主にそれを解決することに興味があるのは誰ですか?

-誰がすでにこの問題または関連する問題の解決に取り組んでいますか?

-問題がうまく解決されたかどうかを誰が判断しますか?

-問題解決の過程で誰と相談できますか?

-誰が解決策を確認できますか?

-この分野の記事の著者は誰ですか?



質問番号2。 何のために?

何度も自問してみてください。「なぜこの問題を解決したいのですか? なぜこれが必要なのですか?」問題Bを解決するには、問題Aの解決策が必要であることがしばしばわかりますが、問題Bは別の方法で解決できます。 この場合、最初のタスクAについて考え始めると、時間を失うだけです。



質問番号3。 どうやって?

この問題を解決する際にどのような方法がガイドされますか? 決定プロセスはどのように構成されますか? 使用できる既製の方法論はありますか?



質問番号4。 なに?

このタスクにはどのオブジェクトが存在または暗示されていますか? それらを紙に描き、このタスクに関連するそれらの間の可能な関係をすべて矢印でマークします。 不明または過剰なオブジェクトはありますか?

ほぼ同じ数の矢印が各オブジェクトに入り、各オブジェクトから来るはずです。 そうでない場合、原則として、オブジェクト間の重要な接続を見逃すか、一部の接続を不当に非常に重要視します。



質問番号5。 いつ?

時間の観点からタスクを見てください。 調べる:

-アルゴリズムの個々のブロックはどのくらいの速度で動作しますか?

-時間に関連する外部要因は仕事に影響を与える可能性がありますか?

-アルゴリズムの開発、プログラミング、テストにどれくらいの時間をかけていますか?



質問番号6。 どこ?

地理的な観点からタスクを見てください。 質問に答えてください:

-どこ、どの国、都市、地域であなたの決定が使用されますか?

-どのコンピュータープラットフォームで動作しますか?

-このタスクに関連する場所と地理に関連する他の問題は何ですか?



質問番号7。 どうした

1年、2、10、100年前にこの問題の解決策は何でしたか? ゼロから発生するタスクは1つではありません。おそらく、過去にこの問題に対処したことがあると思われます。 これがどのように起こったのかを正確に知ることは興味深く有用です。



質問番号8。 何がありますか?

この問題の解決策は何ですか?現在使用されていますか? 現在利用可能な代替案を見つけて、明確に理解してください。



質問番号9。 どうなるの?

この同じ問題を3、5、10、100年後にどのように解決できるでしょうか? この傾向を少なくともおおよそ定義し、このトピックについて考え、考えてください。

現在取り組んでいるアルゴリズムが長期トレンドの一部であり、実装後1年で道徳的に陳腐化しないのは素晴らしいことです。



質問番号10。 何の一部ですか?

このタスクは、より大きなタスク(またはシステム)のどの部分ですか? そして、この大きなシステムとは何ですか?



質問11。 何で構成されていますか?

どの小さなサブタスクが元のタスクの一部ですか? 最初のタスクはどの部分に分割できますか? そして、さらに小さな部分をサブタスクに分割できますか?



質問番号12。 どのように見えますか?

このタスクはどのように見えますか? この場合、アソシエーションはarbitrarily意的に長くて比can的である可能性があり、これはさらに良いことです。 人間の活動のまったく異なる領域で同様の現象を見つけた場合、それは素晴らしいことです。

これは非常に強力な質問です。 最も美しく調和のとれた解決策が見つかるのは、まったく予期しない知識の領域の類似点です。



質問番号13。 何が見えますか?

タスク、そのソリューション、およびそのすべてのコンポーネントを視覚化します。 それらを描きます。 子供(またはデザイナー)になり、最適な色を見つけます(仮想の抽象的なオブジェクトでも)。 このタスクの視覚的な調和を感じるか、もしあれば、「ugい」問題のある場所を見つけます。



質問番号14。 何が聞こえますか

これは非常に複雑で有用な質問です。なぜなら、オーディオ情報の処理を担当する脳の最も強力な部分は、ほとんどの現代人では未発達だからです。 同時に、特定の問題の解決策を正確に「聞く」優秀な科学者やエンジニアを知っています。

そのため、タスクのすべての要素の相互作用を「聞いて」(目を閉じるのが便利です)、その要素の特徴的な音を聞いてみてください。 問題の解決策を実践した人々の会話や声の声を聞いてください。



質問番号15。 私は何を感じますか?

前の質問と同じ程度ではありませんが、この質問も異常に見えるかもしれません。 この課題によって引き起こされる触覚、温度、味覚、呼吸関連を感じてください。 一部の決定は「強い」と思われるかもしれませんが、他の決定は「冷たい」または「苦い」場合さえあります。

脳の感覚部分をタスク分析に接続します。 もちろん、これは科学情報を分析する非標準的な方法ですが、有用な場合もあります。



質問番号16。 完璧なソリューションは何でしょうか?

この問題を理想的に解決する方法を想像してください。 完全に信じられないようなものを思い付く-信じられないほど良い。 ブレインストーミングの方法は、最も予期しない解決策が提案された場合でも、この原則に基づいて構築されます。

境界線がなく、労働条件が最も有利だと想像してください。 この状況で何ができますか?

この問題の解決策をどのようにすばらしく壮大にすることができますか?



質問番号17。 なぜすべてが失敗するのでしょうか?

きしむと悲観的な批評家になります。 この問題を解決できない理由をすべて見つけてください。 このプロジェクトの失敗につながるすべての組織上の問題と同様に。 それらを慎重に書き留めてください-より良い。

批判の状態から抜け出すと、記録された情報は、問題を解決するためにあなたを待っている危険についての非常に貴重な情報になり、避けるべきです。



質問番号18。 私の用途は何ですか?

この問題を解決することにより、個人的にどのようなメリットが得られますか? 何を学びますか? あなたはいくら稼ぎますか? どのような重要なつながりや連絡先がありますか? あなたの評判を改善するには?



質問19 他人の用途は何ですか?

この問題を解決することにより、顧客、クライアント、および作業結果を使用する人はどのような利益を得ますか? あなたの問題の解決は彼にとって重要ですか?



質問番号20。 社会にとってのメリットは何ですか?

あなたの問題の解決策は、私たちが住んでいる社会全体にどのように影響しますか? 社会的に重要ですか? それは人類全体としてどのように、またどのように役立つのでしょうか?



これらすべての質問に答えることで、直面している課題についてより多くを学ぶことができると確信しています。 さらに、ほぼ確実に、この問題は最も予想外の側面から見えます。そして、あなたの想像力は、それを解決するための異常で、信頼でき、美しく、調和のとれた方法を教えてくれます。



もちろん、これらの質問への答えが常に最終的な解決策につながるとは限りません。 他にも多くの方法、複雑な問題のエレガントな解決策を見つけるのに役立つ方法があります。



それでも、研究およびエンジニアリング活動でこれらの20の重要な質問を使用すると、アルゴリズムの問​​題を解決する速度と品質が大幅に向上するはずです。



元の記事はこちらです。

gil-algorithms.com/articles/20_questions_on_generation_an_algorithm.html



All Articles