Patent UA-135383-U (UA)
Title: Нейрон сортування значень функцій
Filed: 2019-02-01
Abstract: Нейрон сортування значень функцій, який має n входів вхідного оператора з ваговими коефіцієнтами wj=1, j=1, 2, …, n, до яких увімкнені відповідні змінні xj вхідного вектора X = (х1, х2, …, xj, …, хn), має m виходів для виведення вихідного вектора Υ = (у1, у2, …, уі, …, уm), згідно з корисною моделлю вхідний оператор нейрона призначений для отримання на його n входах змінних xj, j=1, 2, …, n, вхідного вектора X, а на m виходах - залежних від змінних вхідного вектора X і призначених для сортування значень заданих експертом функцій fu, u=1, 2,…, m, у вигляді вектора функцій F = (f1, f2, …, fu, …, fm), що увімкнені до входу активаційної функції нейрона, яка має перший вектор контролю F1 = (f11, f12, …, f1u, …, f1m), де f1u = -1/1; u=1, 2, …, m, - ознака, що відповідна функція fu, u=1, 2,…, m, вектора функцій F = (f1, f2, …, fu, …, fm), не врахована (при f1u = -1), або врахована (при f1u=1) у вихідному векторі нейрона Υ = (у1, у2, …, уі, …, уm), призначений для реєстрації використання значень функцій fu, u=1, 2, …, m, вектора функцій F = (f1, f2,…, fu, …, fm), у вигляді сортованих вихідних змінних уi; і = 1, 2, …, m, по умові уі ≥ уі+1 у вихідному векторі Υ = (у1, у2, …, уі, …, уm), має вихідний стосовно нейрона та стосовно активаційної функції другий вектор контролю F2 = (f21, f22, …, f2i, …, f2m), де f2i=u, і = 1, 2,…, m, u=1, 2,…, m, - елемент вихідного другого вектора контролю F2, призначеного для реєстрації порядкового номера "u" функції fu, u=1, 2, …, m, вектора функцій F = (f1, f2,…, fu, …, fm), який дорівнює у вихідному векторі Υ = (у1, у2, …, уі, …, уm) відповідному значенню функції уі = fu при умові уі ≥ уі+1, призначений для реєстрації порядкових номерів використаних при сортуванні у вихідному векторі Υ = (у1, у2, …, уі, …, уm) значень функцій fu, u=1, 2,…, m, вектора функцій F = (f1, f2, …, fu, …, fm) при умові уі ≥ уі+1 та призначена для визначення даних вихідних векторів Υ = (у1, у2, …, уі, …, уm) i F2 = (f21, f22, …, f2i, …, f2m) за алгоритмом: А: = 0; For u: = 1 to m do Begin f1u: = -1; if (A > fu) then A: = fu; End; For і:= 1 to m do Begin В:= A; For u:= 1 to m do Begin if ((flu < 0) And ((fu > B) Or (fu=B))) then Begin В: = fu; N: = u; End; End; уі: = В; f1N: = 1; f2i: = N; End; де A - мінімальний елемент стосовно повного ряду функцій fu, u=1, 2, …, m, вектора функцій F = (f1, f2, …, fu, …, fm), що ще не переведеш у вихідний вектор Υ = (у1, у2, …, уі, …, уm); В - елемент, який у початку кожного процесу введення нової змінної уі вихідного вектора Υ призначений дорівнювати значенню А, а у кінці кожного процесу введення нової змінної уі у вихідний вектор Υ призначений стати рівним максимальному значенню серед тих значень функцій fu, u=1, 2,…, m, вектора функцій F = (f1, f2, …, fu, …, fm), що ще не увійшли у вихідний вектор Υ; Ν - порядковий номер наступної функції fu, u=1, 2,…, m, вектора функцій F = (f1, f2,…, fu, …, fm), який у процесі визначення нової змінної уі вихідного вектора Υ призначений для переведення з початкового умовного порядкового номера N=0 на порядковий номер N=u наступної найбільшої функції серед тих функцій fu, u=1, 2,…, m, вектора функцій F = (f1, f2, …, fu, …, fm), які ще не переведені у змінні вихідного вектора Υ = (у1, у2, …, уі, …, уm); j=1, 2, …, n - порядкові номери елементів вектора X = (х1, х2, …, xj, …, хn); u=1, 2, …, m - порядкові номери елементів векторів F = (f1, f2, …, fu, …, fm), F1 = (f11, f12, …, f1u, …, x1m); і = 1, 2,…, m - порядкові номери елементів вихідних векторів нейрона Υ = (у1, у2,…, уі, …, уm), F2 = (f21, f22, …, f2i, …, f2m) та кроків циклу, кожний із яких призначений для реєстрації вибраних у результаті процесу їх визначення кінцевих оптимальних елементів векторів Y, X1, Х2, які призначені для реєстрації нового найбільшого значення функції fu вектора функцій F = (f1, f2, …, fu, …, fm), яке ще не увійшло у вихідний вектор Υ = (у1, у2, …, уі, …, уm) і яке вводиться у змінні у; вихідного вектора Υ.