为python中的试错机制寻求更好的设计建议?
|
参见下面的从传感器获取的数据矩阵,仅是INT号,没有特别说明。
A B C D E F G H I J K
1 25 0 25 66 41 47 40 12 69 76 1
2 17 23 73 97 99 39 84 26 0 44 45
3 34 15 55 4 77 2 96 92 22 18 71
4 85 4 71 99 66 42 28 41 27 39 75
5 65 27 28 95 82 56 23 44 97 42 38
…
10 95 13 4 10 50 78 4 52 51 86 20
11 71 12 32 9 2 41 41 23 31 70
12 54 31 68 78 55 19 56 99 67 34 94
13 47 68 79 66 10 23 67 42 16 11 96
14 25 12 88 45 71 87 53 21 96 34 41
水平A到K是传感器名称,垂直是通过计时器方式来自传感器的数据。
现在,我想用试错法分析那些数据,我定义了一些概念来解释我想要的东西:
来源
来源是我得到的所有原始数据
o进入
条目是所有A到K传感器的集合,例如垂直的第一行:
25 0 25 66 41 47 40 12 69 76 1
o规则
规则是具有断言值返回的\“ suppose \”函数,到目前为止,仅\“ true \”或\“ false \”。
例如,我假设传感器A,E和F的值永远不会相同,如果一项具有A = E = F的条目,将触发tigger违例,并且此规则函数将返回false。
橙子:
范围是用于选择垂直条目的功能,例如前5个条目
然后,基本思想是:
o source + range = subsource(s)
o subsource + rules = valiation(s)
最后我想得到一个列表可能看起来像这样:
rangeID ruleID violation
1 1 Y
2 1 N
3 1 Y
1 2 N
2 2 N
3 2 Y
1 3 N
2 3 Y
3 3 Y
但是问题是我在这里定义的规则和范围很快就会变得非常复杂,如果您看起来更深,它们的组合可能太多,以\“ A = E = F \”为例,可以定义\“ B = E = F \“,\” C = E = F \“,\” C> F \“ ......
所以很快我需要一个规则/范围生成器,即使以后使用正则表达式字符串,它也可以接受诸如“ A = E = F \”之类的“核心参数”作为输入参数。那太复杂了,只是打败了我,别说我可能需要持久性规则唯一ID,数据存储问题,规则自嵌套组合问题......
所以我的问题是:
有人知道我是否需要某种模块/软件来进行这种反复试验的计算或我想要的规则定义?
任何人都可以分享我所描述的更好的规则/范围设计?
感谢您的任何提示。
角色扮演,
KC
没有找到相关结果
已邀请:
2 个回复
嗓瑰
输出:
http://ideone.com/zbTZr 这里有一些假设(例如,相等性是规则中唯一使用的运算符)和一些功能(例如,将输入解析为我使用的ѭ7中的
),但我希望您能弄清楚自己解决。 当然,可能存在一个基于Numpy的解决方案,它比我现在暂时没有想到的解决方案简单(它已经很晚了,我现在要睡觉了;)),但是希望这可以帮助您。 编辑: 糟糕,错过了其他内容(忘记在发布前添加)-我只测试了
(给定范围)中的第一个元素。.您只想将其保留在另一个
循环中,而不是使用该硬编码为“ 10”索引。
夏瓤跋棘