我正在开发一个android应用程序,用于根据感应值和其他细节分析用户的情况。这个应用程序基本上是一个提醒功能,可以帮助用户根据他的情况。
我们为应用程序提供我们的日常活动与位置和必要的细节。当事件时间到达时,它会分析用户的当前情况,然后通过读取用户的位置、时间、天气、加速器是否移动(即是否忙碌)、手机是否在口袋中、离事件目的地的距离、到达那里所需的时间等来进行通知。
然后,它选择一组在到达目的地之前可能有帮助的操作,如阅读新闻、提供导航、打开媒体播放器、显示股票详细信息、执行搜索等。算法应该从一组操作中挑选这些操作。
哪种算法和数据结构适合分析当前情况?请提供您对该项目和想法的看法。谢谢
发布于 2013-01-04 16:36:23
脑海中浮现出两种方法:
当关键字是各种数据元素的集合时,
h({data1, data2,...}) = a1; h({dataa, datab,...}) = a2。无论何时,在数据集上应用散列函数并提取操作。num of sensor1 values * num of sensor2 values * ... * num of sensor n values。如果每个组合上的操作都不同,就没有什么需要优化的了。但情况可能并非如此,在大多数情况下,操作都是相同的。例如,您可以采用相反的方法,并将所有可能的操作集保存在映射中。在非常高的级别上:每当事件时间到来时,开始分析数据-在读取第一个传感器数据后,可能的操作集将缩小;分析第二个传感器数据,并对操作子集重复此过程。继续,直到只剩下一个操作或没有更多的传感器数据可用,无论先发生什么(假设传感器数据的所有组合都映射到一个有效的操作)。发布于 2013-01-04 18:20:20
当我读到你的项目逻辑,特别是horn条款时,我的脑海中浮现出来。您描述说,您的应用程序应该检查一组条件,以选择要执行的特定操作。Horn clauses是propositional或first-order logic中某种形式的逻辑表达式。Horn子句最多有一个正向字面,表示一个事实、一个规则或一个目标。有了这些事实,就可以描述你的知识,有了规则,你就可以表达在某些条件适用的情况下选择哪个动作。Horn子句、一阶逻辑、命题逻辑和归结是逻辑编程、规则引擎或约束满足的理论基础。
例如,drools是一个规则引擎,它允许描述一个知识库和一组规则。Drools使用一阶推理从知识库和规则条件中推理操作。也许,你会发现一些你可以在一阶逻辑,命题逻辑,规则引擎,逻辑,编程,约束满足,推理,问题解决和推理领域中使用的东西。例如,您可以在那里找到drools中使用的rete algorithm。
https://stackoverflow.com/questions/14152485
复制相似问题