Example #1
0
 /// <summary>
 /// Запуск протокола Диффи-Хеллмана с древовидной машиной четности
 /// </summary>
 /// <param name="numInputNeurons">Количество входных нейронов в ДМЧ <see cref="TreeParityMachine"/></param>
 /// <param name="numHiddenNeoruns">Количество скрытых нейронов в ДМЧ <see cref="TreeParityMachine"/></param>
 /// <param name="weightRange">Диапозон весов в ДМЧ <see cref="TreeParityMachine"/></param>
 /// <param name="rule">Правило обучения нейронов в ДМЧ <see cref="TreeParityMachine"/></param>
 public virtual async Task RunProtocolAsync(uint numInputNeurons, uint numHiddenNeoruns, int weightRange, LearningRuleNeurons rule)
 {
     Machine = new TreeParityMachine(numInputNeurons, numHiddenNeoruns, weightRange, rule);
     Debug.WriteLine("Run Protocol");
     // Проверка параметров ДМЧ
     try {
         ClosedTokenSource.CancelAfter(TimeSpan.FromSeconds(30));
         await HubProtocolConnection.InvokeAsync("CompareParams",
                                                 NameRecipient, numInputNeurons, numHiddenNeoruns, weightRange).ConfigureAwait(false);
     }
     catch (Exception ex) {
         Debug.WriteLine(ex);
         throw ex;
     }
 }
Example #2
0
 /// <summary>
 /// Запуск протокола Диффи-Хеллмана с древовидной машиной четности
 /// </summary>
 /// <param name="numInputNeurons">Количество входных нейронов в ДМЧ <see cref="TreeParityMachine"/></param>
 /// <param name="numHiddenNeoruns">Количество скрытых нейронов в ДМЧ <see cref="TreeParityMachine"/></param>
 /// <param name="weightRange">Диапозон весов в ДМЧ <see cref="TreeParityMachine"/></param>
 /// <param name="rule">Правило обучения нейронов в ДМЧ <see cref="TreeParityMachine"/></param>
 public override async Task RunProtocolAsync(uint numInputNeurons, uint numHiddenNeoruns, int weightRange, LearningRuleNeurons rule)
 {
     MachineInterceptor = new TreeParityMachine(numInputNeurons, numHiddenNeoruns, weightRange, rule);
     await base.RunProtocolAsync(numInputNeurons, numHiddenNeoruns, weightRange, rule).ConfigureAwait(false);
 }