doc/math/array_set_v1.md
2026-04-01 15:42:46 +03:00

9.7 KiB
Raw Blame History

array_set

Рассмотрим формализацию динамической системы, где состояние в момент t задаётся множеством (или кортежем) компонент \text{in}_1, \text{in}_2, \dots, \text{in}_n, а состояние в момент t+1 — компонентами \text{out}_1, \text{out}_2, \dots, \text{out}_n. Каждая выходная компонента \text{out}_i может зависеть от всех входных компонент, но сохраняет «номер» для идентификации. Ниже представлены возможные варианты формализма в разных областях математики.


1. Теоретико-множественный подход

Пусть I_i — множество возможных значений для $i$-й входной компоненты, O_i — для $i$-й выходной. Общее состояние — декартово произведение:

\mathcal{I} = I_1 \times I_2 \times \dots \times I_n,\qquad \mathcal{O} = O_1 \times O_2 \times \dots \times O_n.

Функция перехода (оператор) — это отображение:

F: \mathcal{I} \longrightarrow \mathcal{O}, F(\text{in}_1, \dots, \text{in}_n) = (\text{out}_1, \dots, \text{out}_n).

Для каждой компоненты можно определить проекцию F_i = \pi_i \circ F, тогда

\text{out}_i = F_i(\text{in}_1, \dots, \text{in}_n), \quad i = 1,\dots,n.

Пример (множественная запись):

\forall i;; \text{out}_i = f_i(\text{in}_1, \dots, \text{in}_n), где f_i: \mathcal{I} \to O_i — произвольные функции.


2. Тензорная алгебра (линейный случай)

Если все I_i и O_i — векторные пространства (например, \mathbb{R}^{d_i}) и отображение линейно, то F — линейный оператор. Компонентная запись с использованием тензоров:

\text{out}i^{\alpha_i} = \sum{j=1}^{n} \sum_{\beta_j} T_{i,j}^{\alpha_i \beta_j} , \text{in}_j^{\beta_j}, где T_{ij} — тензор (матрица) ранга 2, связывающий $j$-й вход с $i$-м выходом. Если зависимость нелинейна, можно использовать тензоры более высокой валентности:

\text{out}i^{\alpha_i} = \sum{j_1,\dots,j_k} \sum_{\beta_{j_1}\dots\beta_{j_k}} T_{i,j_1\dots j_k}^{\alpha_i \beta_{j_1}\dots\beta_{j_k}} ;\text{in}{j_1}^{\beta{j_1}} \cdots \text{in}{j_k}^{\beta{j_k}} + \dots

Блочная матричная форма (для линейного случая):

\begin{pmatrix} \text{out}_1 \ \text{out}_2 \ \vdots \ \text{out}_n \end{pmatrix}

\begin{pmatrix} T_{11} & T_{12} & \dots & T_{1n} \ T_{21} & T_{22} & \dots & T_{2n} \ \vdots & \vdots & \ddots & \vdots \ T_{n1} & T_{n2} & \dots & T_{nn} \end{pmatrix} \ast \begin{pmatrix} \text{in}_1 \ \text{in}_2 \ \vdots \ \text{in}_n \end{pmatrix}.


3. Категорный подход (теория категорий)

В категории множеств (или любой другой декартово замкнутой категории) состояние — это объект I = I_1 \times \dots \times I_n (произведение), выход — объект O = O_1 \times \dots \times O_n. Переход — морфизм F: I \to O. Для каждой компоненты i имеем проекции \pi_i^O: O \to O_i, и композиция F_i = \pi_i^O \circ F даёт морфизм I \to O_i.

Если нужно подчеркнуть, что F_i «соответствует» входной компоненте i, можно ввести диаграмму:

\begin{array}{ccccc} I & \xrightarrow{F} & O \ \downarrow^{\pi_i^I} & & \downarrow^{\pi_i^O} \ I_i & \xrightarrow{F_i} & O_i \end{array}

Но в общем случае F_i может зависеть от всех I_j, поэтому коммутативность этой диаграммы не требуется — F_i не факторизуется через \pi_i^I.


4. Функционально-аналитический подход

Если компоненты — функции (например, поля на пространстве) и преобразование — оператор, можно записать:

u_i(t+1, x) = \mathcal{F}_i\bigl u_1(t,\cdot), u_2(t,\cdot), \dots, u_n(t,\cdot) \bigr, где \mathcal{F}_i — нелинейный оператор, действующий на все компоненты и, возможно, имеющий локальную зависимость.


5. Подход с использованием теории динамических систем

Состояние системы — вектор \mathbf{x}(t) = (x_1(t), \dots, x_n(t)), где x_i(t) \in X_i. Эволюция задаётся отображением:

\mathbf{x}(t+1) = \Phi\bigl( \mathbf{x}(t) \bigr), или покомпонентно: x_i(t+1) = \phi_i\bigl( x_1(t), \dots, x_n(t) \bigr),\quad i=1,\dots,n.

Это частный случай теоретико-множественного подхода.


6. Агентный / компонентный формализм

Каждая компонента i интерпретируется как «агент», который на основе всех входных данных (включая другие компоненты) вычисляет своё новое состояние. В формальной нотации:

\text{out}_i = \text{Agent}_i(\text{in}_1, \dots, \text{in}_n).

Можно ввести понятие общей среды: \text{out}_i = \text{update}_i(\text{in}_1, \dots, \text{in}_n), где \text{update}_i — функция обновления агента i.


7. Символьная / алгебраическая спецификация

Можно использовать нотацию $\lambda$-исчисления или алгебры процессов:

\text{out}_i = (\lambda (x_1,\dots,x_n).; e_i(x_1,\dots,x_n)),(\text{in}_1,\dots,\text{in}_n), где e_i — выражение, описывающее зависимость.


8. Теоретико-категорный вариант с использованием копределов

Если нужно подчеркнуть, что \text{out}_i — это результат применения некоторого функтора к \text{in}_i и «окружению», можно ввести понятие параметризованного морфизма:

Для каждого i определён морфизм F_i: I_1 \times \dots \times I_n \to O_i, а F = \langle F_1, \dots, F_n \rangle — это стрелка в произведение.


9. Смешанный формализм: теория множеств + алгебраические структуры

Если компоненты имеют дополнительную структуру (например, группы, кольца), можно записать:

\text{out}i = \Phi_i\left( \sum{j=1}^n \alpha_{ij} \cdot \text{in}_j \right) где \Phi_i — нелинейная активация (как в нейронных сетях).


10. Тензорная сеть (диаграммное представление)

В квантовой физике и машинном обучении используют диаграммы тензорных сетей. Для нашего случая можно изобразить:

  • Входные тензоры \text{in}_1,\dots,\text{in}_n подводятся к узлу, который представляет собой тензор T ранга 2n (входные и выходные индексы). Выходные индексы группируются в \text{out}_1,\dots,\text{out}_n.

Формульно:

\text{out}1^{\alpha_1} \dots \text{out}n^{\alpha_n} = \sum{\beta_1,\dots,\beta_n} T^{\alpha_1\dots\alpha_n}{\beta_1\dots\beta_n} ; \text{in}_1^{\beta_1} \dots \text{in}_n^{\beta_n}, где T — тензор, описывающий преобразование.


Итоговая таблица вариантов

Подход Формальная запись Комментарий
Теория множеств F: I_1\times\dots\times I_n \to O_1\times\dots\times O_n, \text{out}_i = \pi_i(F(\text{in}_1,\dots,\text{in}_n)) Базовый
Тензорная алгебра \text{out}_i^{\alpha_i} = \sum_{j,\beta_j} T_{ij}^{\alpha_i\beta_j} \text{in}_j^{\beta_j} (линейный) Для линейных отображений
Категории F: I \to O в декартовой категории Абстракция
Динамические системы x_i(t+1) = \phi_i(x_1(t),\dots,x_n(t)) Классическая форма
Агентная модель \text{out}_i = \text{Agent}_i(\text{in}_1,\dots,\text{in}_n) Компьютерная аналогия
Тензорная сеть \text{out}_1\dots\text{out}_n = T \cdot (\text{in}_1\dots\text{in}_n) Компактная запись

Все варианты совместимы с отображением на GitHub при использовании только $ и $$.