public IOTPhenomemon(IOTPhenomemonType type, int nodeId, double time, Packet pkg) { this.type = type; this.nodeId = nodeId; this.start = this.end = time; this.pkg = pkg; }
static double OR(IOTPhenomemonType t1, IOTPhenomemonType t2, int node, List<IOTPhenomemon> observedPhenomemons) { double a = ConditionHappened(t1, node, observedPhenomemons); double b = ConditionHappened(t2, node, observedPhenomemons); //return the smaller one return (a > b) ? a : b; }
public IOTPhenomemon(IOTPhenomemonType type, int nodeId, double start, double end, Packet pkg) { this.type = type; this.nodeId = nodeId; this.start = start; this.end = end; this.pkg = pkg; }
static double ConditionHappened(IOTPhenomemonType type, int node, List<IOTPhenomemon> observedPhenomemons) { for(int i=0;i<observedPhenomemons.Count;i++) { if(observedPhenomemons[i].node == node && observedPhenomemons[i].type == type) return observedPhenomemons[i].likehood; } return 0.001; }
static double ConditionHappened(HashSet<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime, IOTPhenomemon p1, ComparePhenomemon comparer) { foreach (IOTPhenomemon p in observedPhenomemons) { if (p.nodeId == node && p.type == type && p.start >= starttime && p.end <= endtime && comparer(p1, p)) { return p.likehood; } } return global.SmallValue; }
static double ConditionHappened(HashSet<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime, IOTPhenomemon p1, List<IOTPhenomemon> list, ComparePhenomemon comparer) { double likehood = global.SmallValue; foreach (IOTPhenomemon p in observedPhenomemons) { if (p.nodeId == node && p.type == type && p.start >= starttime && p.end <= endtime && comparer(p1, p)) { list.Add(p); likehood = Math.Max(p.likehood, likehood); } } return likehood; }
static double ConditionHappened(HashSet<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime, Packet pkg) { foreach (IOTPhenomemon p in observedPhenomemons) { if (p.nodeId == node && p.type == type && p.start >= starttime && p.end <= endtime && Packet.IsSamePacket(p.pkg, pkg)) return p.likehood; } return global.SmallValue; }
static double ConditionHappened(HashSet<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double time) { foreach (IOTPhenomemon p in observedPhenomemons) { if (p.nodeId == node && p.type == type && Utility.DoubleEqual(p.start, time)) return p.likehood; } return global.SmallValue; }
static double ConditionHappened(HashSet<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime) { foreach (IOTPhenomemon p in observedPhenomemons) { if (p.nodeId == node && p.type == type && p.start >= starttime && p.end <= endtime) return p.likehood; } if (type == IOTPhenomemonType.DIST_FAR)//如果计算节点距离的可能性,且不在邻居中,则说明该节点很远,可能性为很大 return 0.8; else return global.SmallValue; }
public IOTPhenomemon(IOTPhenomemonType type, int nodeId) { this.type = type; this.nodeId = nodeId; this.start = this.end = Scheduler.getInstance().currentTime; }
static double ConditionHappened(List<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime, IOTPhenomemon p, ComparePhenomemon comparer) { for (int i = 0; i < observedPhenomemons.Count; i++) { if (observedPhenomemons[i].nodeId == node && observedPhenomemons[i].type == type && observedPhenomemons[i].start >= starttime && observedPhenomemons[i].end <= endtime && comparer(p, observedPhenomemons[i])) { return observedPhenomemons[i].likehood; } } return global.SmallValue; }
static double ConditionHappened(List<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime, IOTPhenomemon p, List<IOTPhenomemon> list, ComparePhenomemon comparer) { double likehood = global.SmallValue; for (int i = 0; i < observedPhenomemons.Count; i++) { if (observedPhenomemons[i].nodeId == node && observedPhenomemons[i].type == type && observedPhenomemons[i].start >= starttime && observedPhenomemons[i].end <= endtime && comparer(p, observedPhenomemons[i])) { list.Add(observedPhenomemons[i]); likehood = Math.Max(observedPhenomemons[i].likehood, likehood); } } return likehood; }
static double ConditionHappened(List<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double starttime, double endtime, Packet pkg) { for (int i = 0; i < observedPhenomemons.Count; i++) { if (observedPhenomemons[i].nodeId == node && observedPhenomemons[i].type == type && observedPhenomemons[i].start>=starttime && observedPhenomemons[i].end<=endtime && Packet.IsSamePacket(observedPhenomemons[i].pkg, pkg)) return observedPhenomemons[i].likehood; } return global.SmallValue; }
static double ConditionHappened(List<IOTPhenomemon> observedPhenomemons, IOTPhenomemonType type, int node, double time) { for(int i=0;i<observedPhenomemons.Count;i++) { if (observedPhenomemons[i].nodeId == node && observedPhenomemons[i].type == type && Utility.DoubleEqual(observedPhenomemons[i].start, time)) return observedPhenomemons[i].likehood; } return global.SmallValue; }