これは、私が抱えている特定の問題に対する最良のアプローチまたは最も賢明な方法であると皆さんが考えるものについての推測的な質問です.
私は現在、大部分が巨大な XML ツリーによって駆動される Web アプリを開発しています。このアプリのポイントは、相互の関係に基づいてノードの適切なシーケンスをランダムに生成することです。
ノードは非常によく分類されていますが、最初の選択は大部分が確率論的である必要があり、次の選択は最初のノードに基づいています。選択肢はランダムである必要がありますが、各選択肢の間に顕著な論理的類似性があってはなりません。
たとえば、次のツリーがあるとします。
<things>
<foods>
<fruits>
<fruit>apple</fruit>
<fruit>orange</fruit>
<fruit>melon</fruit>
<fruit>banana</fruit>
<fruit>grape</fruit>
</fruits>
<vegetables>
<vegetable>potato</vegetable>
<vegetable>carrot</vegetable>
<vegetable>onion</vegetable>
<vegetable>leek</vegetable>
</vegetables>
</foods>
<animals>
<birds>
<bird>penguin</bird>
<bird>ostrich</bird>
<bird>parrot</bird>
<bird>crow</bird>
<bird>emu</bird>
</birds>
<fish>
<fish>cod</fish>
<fish>plaice</fish>
<fish>salmon</fish>
<fish>shark</fish>
<fish>tuna</fish>
</fish>
</animals>
</things>
... 最初に選択されたアイテムがサメの場合、マグロは近縁種ですが、鳥のカテゴリのアイテムも特定の類似性を保持しているためアクセスできます。それは生き物です。しかし、野菜はまったく無関係であり、選択すべきではありません。
私の xml ツリーが非常に巨大であることを考えると、類似性チェックを実行するインテリジェントな方法が必要です。
ご意見、ご感想、ご指導をお待ちしております。私はすでにこれに関する解決策を探してきましたが、これまでのところほとんど思いつきませんでした。
前もって感謝します!