Android 哪种算法适用于情况分析?

Android 哪种算法适用于情况分析?,android,algorithm,data-structures,Android,Algorithm,Data Structures,我正在开发一个android应用程序,用于根据传感器值和其他细节分析用户的情况。该应用程序基本上是一个提醒功能,帮助用户根据自己的情况 我们为应用程序提供我们的日常活动,包括位置和必要的细节。当事件时间到达时,它通过读取用户的位置、时间、天气、加速器是否移动(即忙或不忙)、手机是否在口袋中、距离事件目的地的距离、到达目的地所需的时间等来分析用户的当前情况 然后,在到达目的地之前,它选择一组可能有用的操作,如阅读新闻、提供导航、打开媒体播放器、显示股票详细信息、执行搜索等。算法应从一组操作中选择这

我正在开发一个android应用程序,用于根据传感器值和其他细节分析用户的情况。该应用程序基本上是一个提醒功能,帮助用户根据自己的情况

我们为应用程序提供我们的日常活动,包括位置和必要的细节。当事件时间到达时,它通过读取用户的位置、时间、天气、加速器是否移动(即忙或不忙)、手机是否在口袋中、距离事件目的地的距离、到达目的地所需的时间等来分析用户的当前情况

然后,在到达目的地之前,它选择一组可能有用的操作,如阅读新闻、提供导航、打开媒体播放器、显示股票详细信息、执行搜索等。算法应从一组操作中选择这些操作

哪种算法和数据结构适合分析当前情况??
请提供您对该项目的看法和想法。谢谢

我想到了两种方法:

  • 当键是各种数据元素的集合时,将所有可能的操作插入到哈希表中。即,
    h({data1,data2,…})=a1;h({dataa,datab,…})=a2
    。无论何时,对数据集应用哈希函数并提取操作

  • 1的问题是散列的可能大小,它必须包括所有可能的值组合-大小将是
    num of sensor1 values*num of sensor2 values*..*传感器n值的数量
    。如果每个组合上的操作都不同,那么就没有什么需要优化的了。但情况可能并非如此,在大多数情况下,行动都是一样的。例如,您可以采取相反的方法,将所有可能的操作集保存在地图中。在一个非常高的层次上:每当事件发生时,开始分析数据-在读取第一个传感器数据后,可能的动作集将缩小;分析第二个传感器数据,并对动作子集重复该过程。继续,直到只剩下一个动作或没有更多可用的传感器数据,无论先到的是什么(假设传感器数据的所有组合都映射到一个有效动作)


  • 当我读到你的项目逻辑,尤其是horn条款时,我的脑海中浮现出来。您描述,您的应用程序应该检查一组条件以选择要执行的特定操作。是或中某种形式的逻辑表达式。Horn子句最多有一个正文本,表示事实、规则或目标。有了这些事实,你就可以描述你的知识,有了这些规则,你就可以表达出在某些条件适用的情况下选择哪种行动。HON子句、一阶逻辑、命题逻辑和归结是逻辑编程、规则引擎或约束满足的理论基础。 例如,是一个允许描述知识库和一组规则的规则引擎。Drools使用一阶推理从知识库和规则条件推理动作。也许,你会发现一些你可以在一阶逻辑、命题逻辑、规则引擎、逻辑、编程、约束满足、推理、问题解决和推理领域使用的东西。例如,你可以在那里找到drools中使用的