Читаем Учебное пособие по курсу «Нейроинформатика» полностью

В данном примере первый интерпретатор будет иметь уровень надежности равный 0.01, второй — 0.02 и т. д.

В необязательном разделе описание сигналов указывается число сигналов, интерпретируемых интерпретатором. Если этот раздел опущен, то полагается, что число интерпретируемых интерпретатором сигналов равно сумме сигналов, интерпретируемых всеми частными интерпретаторами. В константном выражении может вызываться функция NumberOf, аргументом которой является имя частного интерпретатора (или его псевдоним) с указанием фактических аргументов.

В необязательном разделе описания распределения сигналов для каждого частного интерпретатора указывается, какие сигналы из общего интерпретируемого массива передаются ему для интерпретации. Если этот раздел отсутствует, то считается, что каждый следующий частный интерпретатор получает следующий фрагмент общего вектора выходных сигналов. В примере 1 данный раздел описывает распределение сигналов по умолчанию.

В необязательном разделе описания распределения ответов для каждого частного интерпретатора указывается, какой элемент массива ответов он вычисляет. Если этот раздел опущен, то считается, что первый частный интерпретатор вычисляет первый элемент массива ответов, второй — второй элемент и т. д. Массив уровней надежностей всегда параллелен массиву ответов. В примере 1 данный раздел описывает распределение ответов по умолчанию.

Кроме того, в любом месте описания интерпретатора могут встречаться комментарии, заключенные в фигурные скобки.

<p>Пример описания интерпретатора</p>

В этом разделе приведены два примера описания одного и того же интерпретатора следующего состава: первый сигнал интерпретируется как температура путем умножения на 10 и добавления 273; следующие два сигнала интерпретируются как наличие облачности, используя знаковый интерпретатор; следующие три сигнала интерпретируются как направление ветра, используя двоичный интерпретатор (восемь румбов); последние три сигнала интерпретируются максимальным интерпретатором как сила осадков (без осадков, слабые осадки, сильные осадки). В первом примере приведено описание дубликатов всех стандартных интерпретаторов. Во втором — использованы стандартные интерпретаторы.

Пример 1.

Interpretator Meteorology

{Интерпретатор осуществляющий масштабирование и сдвиг сигнала}

Inter Empty1    

Static

 Real B Name "Масштабный множитель";

 Real C Name "Сдвиг начала отсчета";

Begin

 Answer = Signals[1] * B + C;

 Reliability = 0

End

{Кодирование номером канала. Знаковый интерпретатор}

Inter Binary1 : (N : Long)

Static

 Real E Name "Уровень надежности";

Var

 Long A, B, I;

 Real Dist;

Begin

 Dist = E;

 B = 0; {Число единиц}

 A = 0; {Номер единицы}

 For I = 1 To N Do Begin

  If Abs(Signals[I]) < Dist Then Dist =Abs(Signals[I]);

  If Signals[I] > 0 Then Begin A = I; B = B + 1; End;

 End;

 If B <> 1 Then Answer = 0 Else Answer = A

 Reliability = Abs(Dist / E)

End

{Кодирование номером канала. Максимальный интерпретатор.}

Inter Major1 : (N : Long)

Static

 Real E Name "Уровень надежности";

Var

 Real A, B;

 Long I, J;

Begin

 A = -1.E+30; {Максимальный сигнал}

 B = -1.E+30; {Второй по величине сигнал}

 J = 0; {Номер максимального сигнала}

 For I = 1 To N Do Begin

  If Signals[I] > A Then Begin B = A; A = Signals[I]; J=I; End

  Else If Signals[I] > B Then B = Signals[I];

 End;

 Answer = J;

 If A – B > E Then Reliability = 1 Else Reliability = (A – B) / E;

End

Inter BynaryCoded1 : (N : Long)

Static

 Real E Name "Уровень надежности";

Var

 Long A, I;

 Real Dist;

Begin

 Dist = E;

 A = 0; {Ответ}

 For I = 1 To N Do Begin

  If Abs(Signals[I]) < Dist Then Dist =Abs(Signals[I]);

  A = A * 2;

  If Signals[I] > 0 Then A = A + 1;

 End;

 Answer = A;

 Reliability = Abs(Dist / E)

End

Contents Temp : Empty1, Cloud : Binary1(2), Wind : BynaryCoded1(3), Rain : Major1(3);

Перейти на страницу:

Похожие книги