|
Algorithm 1. Pivot Point Generation Algorithm (implemented at each SH node). |
Input: attrRangeTable (containing minimum, maximum, average and theta of each attribute), W (weights to different attributes based on their importance in the event description).
Output: P (derived pivot point for each sector)
1: mapRec.minRange ← 0; mapRec.maxRange ← 0
2: m ← lengthof(attrRangeTable)
3: for each i from 1 to m do
4: mapRec.minRange ← mapRec.minRange + (attrRangeTable[i].min/attrRangeTable[i].max) × W[i]
5: mapRec.maxRange ← mapRec.maxRange + (attrRangeTable[i].max/attrRangeTable[i].max) × W[i]
6: mapRec.com ← mapRec.com + (attrRangeTable[i].avg)/attrRangeTable[i].max) × W[i]
7: mapRec.theta ← mapRec.theta + (attrRangeTable.theta)/attrRangeTable[i].max) × W[i]
8: i ← i + 1
9: end for
10: comLowerLimit ← mapRec.com − mapRec.theta
11: comUpperLimit ← mapRec.com + mapRec.theta
12: // S is the total number of sectors
13: η ← (comUpperLimit − comLowerLimit)/(S − 1)
14: for each j from 0 to S do
15: if j = 0
16: then P[j] ← mapRec.minRange
17: else if j = S
18: then P[j] ← mapRec.maxRange
19: else
20: P[j] ← comLowerLimit + j × η
21: end if
22: j ← j + 1
23: end for
|