СОРТИРОВКА МАССИВА ЦЕЛЫХ ЧИСЕЛ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННОЙ СЕТИ
На сегодняшний момент существует достаточно большое количество различных алгоритмов и структур данных, на основании которых построены все современные программные системы. Но, с другой стороны, данные алгоритмы плохо подходят для решения задач распознавания образов, классификации и регрессии, для которых существуют специальные методы и/или применяются решения, построенные на основании нейронных сетей. Нейронные сети, по своей сущности, являются универсальными аппроксиматорами, т. е. могут с большой степенью точности повторить, например, заданную кривую. Также из этого следует, что в отличие от классических алгоритмов системы, основанные на нейронных сетях, будут всегда иметь какой-то процент ошибок из-за своей вероятностной природы. В данной работе предлагается алгоритм сортировки массива целых чисел с использованием нейронной сети. Данный алгоритм представляет собой симбиоз нейронной сети и классических алгоритмов. Приводится структурная схема алгоритма, на которой представлено несколько составных частей: нейронная сеть для поиска минимального элемента входного вектора; часть системы, которая переставляет найденный минимальный элемент на место в сортированной части массива. Последняя часть системы реализована в форме классических алгоритмов, но может быть заменена вырожденным вариантом нейронной сети, в которой веса представляют варианты замены элементов массива. В работе была проведена проверка предлагаемого алгоритма. В результате из 10 000 тестов 248 оказались ошибочными, что соответствует 2,48 % ошибки. Приведены рассуждения о возможных причинах возникновения ошибок.