スティーブ・イェッジのGoogleで仕事を得るこの記事を読んで、私はこの短い引用文が興味深いと思いました:
誰かがあなたに問題を提起したときは、グラフについて考えてください。グラフはあらゆる種類の関係を表す最も基本的で柔軟な方法なので、興味深い設計上の問題には必ずグラフが関係しています。他の種類のソリューションに移る前に、グラフを使用して問題を解決する方法が思いつかないことを必ず確認してください。このヒントは重要です。
グラフ データ構造/アルゴリズムによって最もよく表現および/または解決される問題の例にはどのようなものがありますか?
私が思いつく一例は、現在地から別の場所までの道路の道順を提供するナビゲーション ユニット (Garmin、TomTom など) で、グラフと高度な経路アルゴリズムを利用しています。
他にはどんなものがありますか?
ベストアンサー1
コンピューターネットワーク:グラフは、コンピュータ ネットワークとインターネットを直感的にモデル化します。多くの場合、ノードはエンド システムまたはルーターを表し、エッジはこれらのシステム間の接続を表します。
データ構造:ポインターを使用してデータをリンクするデータ構造は、何らかのグラフを使用しています。これには、常に使用されるツリー構造やリンク リストが含まれます。
パスとマップ:ある場所から目的地までの最短または最長の経路を見つけるには、グラフを使用します。これには、Google マップなどのアプリケーションで表示される経路や、ビデオ ゲームで AI キャラクターがたどる経路の計算など、多くの類似した問題が含まれます。
制約の充足:AI の一般的な問題は、制約のリストを満たす目標を見つけることです。たとえば、大学がコーススケジュールを設定するには、特定のコースが競合しないようにすること、教授が 2 つのコースを同時に教えないようにすること、講義が特定の時間帯に行われるようにすることなどを確認する必要があります。このような制約充足問題は、多くの場合、グラフを使用してモデル化され、解決されます。
分子:グラフは、原子や分子をモデル化し、それらの相互作用や構造などを研究するために使用できます。