以下のセンサーから取得したデータマトリックスを参照してください。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 までのすべてのセンサーのセットです。たとえば、垂直方向の 1 番目の行を取り上げます。エントリは次のとおりです。
25 0 25 66 41 47 40 12 69 76 1
ルール
ルールは、アサート値を返す「仮定」関数であり、これまでのところ「真」または「偽」のみです。たとえば、センサーの A、E、F の値が 1 つのエントリで同じになることはないと思います。A=E=F のエントリがある場合、違反が発生し、このルール関数は 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
しかし問題は、私がここで定義したルールと範囲は、もっと深く見ると、すぐに非常に複雑になることです.それらには可能な組み合わせが多すぎます。 「C=E=F」、「C>F」……
そのため、後で正規表現文字列を使用しても、「A = E = F」などの「コアパラメーター」を入力パラメーターとして受け入れることができるルール/範囲ジェネレーターがすぐに必要になります。それは複雑すぎて私を打ち負かしただけです。そのままにしておくと、ルールの一意のID、データストレージの問題、ルールの自己ネストの組み合わせの問題を永続化する必要があるかもしれません......
だから私の質問は:
この種の試行錯誤の計算または私が望むルールの定義に適合するモジュール/ソフトがあるかどうかは誰にもわかりますか?
私が説明したより良いルール/範囲の設計を誰でも共有できますか?
ヒントをありがとう。
Rg、
KC