本文整理汇总了C#中Decision.GetCounter方法的典型用法代码示例。如果您正苦于以下问题:C# Decision.GetCounter方法的具体用法?C# Decision.GetCounter怎么用?C# Decision.GetCounter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Decision
的用法示例。
在下文中一共展示了Decision.GetCounter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: updateWeights
/// <summary>
/// Funkcja odpowiedzialna za proces nauki
/// </summary>
/// <param name="AIDecision">decyzja podjeta przez siec</param>
/// <param name="opponentDecision">decyzja przeciwnika</param>
public void updateWeights(Decision AIDecision, Decision opponentDecision)
{
Decision expectedDecision = opponentDecision.GetCounter(); //decyzja, ktora powinnismy podjac
if (expectedDecision == AIDecision)
return; //i tak sie wagi nie zmienia, wiec konczymy funkcje od razu
double[] desiredOutput = expectedDecision.ToNeural();
double[] currentOutput = AIDecision.ToNeural();
for (int i = 0; i < outputs.Length; ++i)
{
double diff = (desiredOutput[i] - currentOutput[i]) * learningRate; //obliczamy poprawke
for (int j = 0; j < inputs.Length; ++j)
weights[i, j] += diff * inputs[j]; //wprowadzamy poprawke do wag sieci
}
if (minLearningRate < learningRate - learnigEnstinguishRate)
learningRate -= learnigEnstinguishRate;
}