1

センサー値などの詳細に基づいてユーザーの状況を分析するためのAndroidアプリケーションを開発しています。アプリは基本的に彼の状況に基づいてユーザーを支援する機能を備えたリマインダーです。

私たちは、場所と必要な詳細を備えたイベントとしてアプリに私たちの日常を提供します。イベントの時間に達すると、ユーザーの現在の状況を分析してから、ユーザーの場所、時間、天気、アクセラレータが移動しているかどうか(つまり、忙しいかどうか)、電話がポケットに入っているかどうか、イベントの目的地からの距離、時間を読み取って通知します。そこに到達するのにかかるでしょうなど。

次に、ニュースを読んだり、ナビゲーションを提供したり、メディアプレーヤーを開いたり、株式の詳細を表示したり、検索を実行したりするなど、目的地に到着する前に役立つ可能性のある一連のアクションを選択します。アルゴリズムは、一連のアクションからこれらのアクションを選択する必要があります。

現在の状況を分析するには、どのアルゴリズムとデータ構造が適切でしょうか?プロジェクトとアイデアについてのあなたの意見を提供してください。ありがとう

4

2 に答える 2

1

あなたのプロジェクトのロジック、特にホーン条項について読んだとき、頭に浮かびました。あなたは、アプリが一連の条件をチェックして、実行する特定のアクションを選択する必要があることを説明します。ホーン節は、命題論理または一次論理における特定の形式の論理式です。ホーン節は、多くても 1 つの正のリテラルを持ち、事実、規則、または目標のいずれかを表現します。事実によって自分の知識を説明することができ、ルールによって、特定の条件が当てはまる場合にどのアクションを選択するかを表すことができます。ホーン節、一階論理、命題論理、および解決は、論理プログラミング、ルール エンジン、または制約付き満足の理論的基盤です。

たとえば、 droolsは、ナレッジ ベースと一連のルールを記述できるルール エンジンです。Drools は一次推論を使用して、ナレッジ ベースとルールの条件からアクションを推論します。おそらく、一次論理、命題論理、ルール エンジン、論理、プログラミング、制約付き満足度、推論、問題解決、推論の分野で使用できる何かが見つかるでしょう。たとえば、 drools で使用されるrete アルゴリズムがあります。

于 2013-01-04T10:20:20.277 に答える
1

2つのアプローチが思い浮かびます:

  1. キーがさまざまなデータ要素のセットである場合、可能なすべてのアクションをハッシュ テーブルに挿入します。すなわち、h({data1, data2,...}) = a1; h({dataa, datab,...}) = a2。その時が来たら、データセットにハッシュ関数を適用し、アクションを抽出します。

  2. 1 の問題は、可能な値のすべての組み合わせを含める必要があるハッシュの可能なサイズです。サイズは になりますnum of sensor1 values * num of sensor2 values * ... * num of sensor n values。すべての組み合わせに対するアクションが異なる場合、最適化する必要はありません。しかし、おそらくそうではなく、ほとんどの場合、アクションは同じです。たとえば、反対のアプローチを取り、可能なすべてのアクションのセットをマップに保存できます。非常に大まかに言うと、イベントが発生するたびに、データの分析を開始します。最初のセンサー データを読み取った後、可能なアクションのセットが縮小します。2 番目のセンサー データを分析し、アクションのサブセットに対してプロセスを繰り返します。アクションが 1 つだけになるか、センサー データがなくなるまで続行します (センサー データのすべての組み合わせが有効なアクションにマップされていると仮定します)。

于 2013-01-04T08:36:22.673 に答える