本文整理汇总了C#中System.Collections.Set.Minimum方法的典型用法代码示例。如果您正苦于以下问题:C# Set.Minimum方法的具体用法?C# Set.Minimum怎么用?C# Set.Minimum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Collections.Set
的用法示例。
在下文中一共展示了Set.Minimum方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: doLocalValueIteration
// (max)value of an abstract state A = max_{conc state s \in A} max_{t \in succ(s)} maxvalue(B|t \in B)
private double doLocalValueIteration(int k, List<Set<int>> abstractMap, List<double> absValue, bool isMax)
{
double diff = 1.0;
double epsilon = 0.01;
double alpha = 0.9;
double newv;
Dictionary<int,double> value = new Dictionary<int,double>();
foreach (int srcStateId in abstractMap[k])
value.Add(srcStateId,absValue[k]);
Set<int> valueKeys = new Set<int>(value.Keys);
while (diff > epsilon)
{
diff = 0.0;
foreach (int stateHash in valueKeys)
{
if (activeEdges.ContainsKey(stateHash))
{
newv = Math.Min(value[stateHash], alpha * findMax(activeEdges[stateHash],value,k,abstractMap,absValue));
diff = Math.Max(diff,Math.Abs(newv - value[stateHash]));
value[stateHash] = newv;
}
else if (passiveEdges.ContainsKey(stateHash))
{
newv = Math.Min(value[stateHash], alpha * findExpectedValue(passiveEdges[stateHash],value,k,abstractMap,absValue));
diff = Math.Max(diff,Math.Abs(newv - value[stateHash]));
value[stateHash] = newv;
}
}
}
Set<double> vals = new Set<double>(value.Values);
return (isMax? vals.Maximum():vals.Minimum());
}