которая эквивалентна вычислению следующей логической функции:
Function Equal(InSignals, OutSignals: RealArray): Logic;
Var
Long I;
Logic L
Begin
L = True
For i = 1 To n Do L = L And (InSignals[I] = OutSignals[I]);
Equal = L
End
Раздел описания состава следует сразу после заголовка блока за разделом описания сигналов и параметров и начинается с ключевого слова Contents, за которым следуют имена подсетей (блоков или элементов) со списками фактических аргументов, разделенные запятыми. Все имена подсетей должны предваряться псевдонимами. В дальнейшем указание псевдонима полностью эквивалентно указанию имени подсети со списком фактических аргументов или без, в зависимости от контекста. Признаком конца раздела описания состава подсети служит имя подсети за списком фактических аргументов которого не следует запятая.
Раздел описания сигналов и параметров следует за разделом описания состава и состоит из указания числа входных и выходных сигналов и числа параметров блока. В константных выражениях, указывающих число входных и выходных сигналов и параметров можно использовать дополнительно функцию NumberOf с двумя параметрами. Первым параметром является одно из ключевых слов InSignals, OutSignals, Parameters, а вторым — имя подсети со списком фактических аргументов. Функция NumberOf возвращает число входных или выходных сигналов или параметров (в зависимости от первого аргумента) в подсети, указанной во втором аргументе. Использование этой функции необходимо в случае использования блоком аргументов-подсетей. Концом раздела описания сигналов и параметров служит одно из ключевых слов ParamDef, Static или Connections.
Раздел определения типов параметров является необязательным разделом в описании блока и начинается с ключевого слова ParamDef. В каждой строке этого раздела можно задать минимальную и максимальную границы изменения одного типа параметров. Если в описании сети встречаются параметры неопределенного типа, то этот тип считается совпадающим с типом DefaultType. Описание типа
Раздел описания связей следует за разделом описания сигналов и параметров и начинается с ключевого слова Connections. В разделе «Описание распределения сигналов» детально описано распределение связей.
Раздел конца описания блока состоит из ключевого слова End, за которым следует имя блока.
При описании блоков используются элементы, описанные в библиотеке Elements, приведенной в разделе «Пример описания элементов».
NetBibl SubNets Used Elements;
{Библиотека подсетей, использующая библиотеку Elements}
{Сигмоидный нейрон с произвольным сумматором на N входов}
Cascad NSigm(aSum : Block; N : Long; Char : Real)
{В состав каскада входит произвольный сумматор на N входов и сигмоидный нейрон с необучаемой характеристикой}
Contents aSum(N), S_NotTrain(Char)
InSignals NumberOf(InSignals, aSum(N)) {Число входных сигналов определяет сумматор}
OutSignals 1 {Один выходной сигнал}
Parameters NumberOf(Parameters, aSum(N)) {Число параметров определяет сумматор}
Connections
{Входные сигналы каскада – входные сигналы сумматора}
InSignals[1..NumberOf(InSignals, aSum(N))] <=> aSum.InSignals[1..NumberOf(InSignals, aSum(N))]
{Выход сумматроа – вход нелинейного преобразователя}
aSum.OutSignals <=> S_NotTrain.InSignals
{Выход преобразователя – выход каскада}
OutSignals <=> S_NotTrain.OutSignals
Parameters[1..NumberOf(Parameters, aSum(N))] <=> aSum.Parameters[1..NumberOf(Parameters, aSum(N))]
End {Конец описания сигмоидного нейрона с произвольным сумматором}
{Слой сигмоидных нейронов с произвольными сумматорами на N входов}