Рассмотрим множество бинарных строк
Предположим, что перцептрон способен научиться распознавать по произвольным двум строкам их принадлежность одному кольцу. Для простоты предположим существование такого отображения, ставящего во взаимно однозначное соответствие два различных состояния из одного кольца в одинаковый элемент векторного пространства, и две различные строки, принадлежащие разным кольцам — в разные элементы векторного пространства. $$ \varphi : S \rightarrow V $$ Такое отображение обладает следующими свойствами относительно колец $$ s_1 \in R \subset S, s_2 \in S $$
Тогда утверждение заключается в том, что перцептрон способен обучиться воспроизводить отображение $ \varphi $
Рассмотрим случай двух колец, строк длины
Проделаем идентичную операцию для кольца
Исследуя эту систему методом интервалов мы приходим к тому, что эта система не имеет решения $ \Rightarrow $ набора векторов весов не существует $ \Rightarrow $ перцептрон обучиться этому отображению не способен.
Однако для случая, когда два кольца различаются по количеству активных клеток, проделав предыдущие операции, мы получим условия на вектор весов и смещение, при котором перцептрон обучится. Действительно, для колец
Подставив смещение во второе уравнение мы только усилим неравенство $$ \sum_{i=1}^{n}k \cdot w_i - \sum_{i=1}^{n}m \cdot w_i \leqslant 0 $$
Преобразовав, получим достаточные условия того, что перцептрон обучен $$ (m - k) \cdot \sum_{i=1}^{n} w_i > 0 $$ $$ b > -\frac{m}{n} \cdot \sum_{i=1}^{n} w_i $$
Рассмотрим теперь вопрос о построении эффективно реализуемого отображения $ \varphi $. Сложность этой задачи заключается в выборе векторного пространства, в котором удобно сводить произвольную строку кольца в начальную форму. Начальная форма строки или инициализированное положение активных клеток будет удовлетворять свойствам отображения, а следовательно пространство начальных форм можно использовать в качестве векторного пространства. Тогда отображение $ \varphi $ будет процедурой нормализации.
Выберем удобный формат кодирования нашей строки. Пусть это будет вектор $ (u_i, v_i) $, где
Кодирование несколько избыточно, но нас будет интересовать процедура нормализации. Для небольших
Для нашего примера, нормальной формой окажется вектор $$ vector(x) = [(1,3), (0,1), (1,1), (0,1), (1,2), (0,2)] $$ $$ x = 1110101100 $$
Таким образом, отображение в пространство начальных форм реализуется при помощи сортировки кольца. И это далеко не единственное решение. При этом принадлежность двух строк одному кольцу легко определяется по нормальной форме.