Изучал автоматическую теорию управления в универе. Это потрясающе.
Описываем модель. Накладываем желаемые ограничения, подмножество желаемых состояний. Играемся с уравнениями, применяем разные теоремы чтобы получить функцию управления системой.
Я заметил, что программы по-сути тоже динамические системы. Также как и в классических динамических системах там есть состояние, есть время, есть ввод и вывод.
>>117741 (OP) Тебе нужно копать примерно в сторону реконструкции фазового состояния, state space reconstruction. Возможно, для рандомной программы подобное вообще бессмысленно, так как не то, что сколько-нибудь устойчивого аттрактора, но и какого-нибудь репеллента не получится. Но если нечем заняться, попробуй, готового софта для этого не то чтобы очень много, но он есть. tisean какой-нибудь итп.
>>117747 >Возможно, для рандомной программы подобное вообще бессмысленно Не, для рандомной программы даже не буду пытаться.
Вообще план такой:
1) Научиться писать программы с помощью преобразований над state space vector.
2) Написать парочку известных программ и алгоритмов, поисследовать их state space. Поискать аттракторы. Первая на очереди у меня Philosophers Dining Problem и различные решения для неё. А потом хочу так же реализовать Raft Consensus Algorithm.
3) Сделать простенький язык программирования, который в основании полагался на это представления программ.
Брать программы на существующих языках, и пытаться исследовать их state space -- это полный пиздец. Врядли чем-то кончится.
>>117749 Есть такая тема, "Minsky machine" https://en.m.wikipedia.org/wiki/Counter_machine По-сути, это небольшие наборы ассемблерных инструкций, с помощью любого из которых возможно представить любую программу на ассемблере (кроме обращений к памяти итд, но нужные для этого инструкции можно добавить): > set 1: { INC (r), DEC (r), JZ (r, z) }, (Minsky (1961, 1967), Lambek (1961)) > set 2: { CLR (r), INC (r), JE (rj, rk, z) }, (Ershov (1958), Peter (1958) as interpreted by Shepherdson–Sturgis (1964); Minsky (1967); Schönhage (1980)) > set 3: { INC (r), CPY (rj, rk), JE (rj, rk, z) }, (Elgot–Robinson (1964), Minsky (1967)) Имея state space представление для таких наборов (например, INC, DEC, JNZ, MOV + SETF, CLRF не обязательно), можно уже строить программу с использованием только их state space. Всё это чисто в теории, конечно.
Каскад цепей Маркова с генерацией матрицы переходов на каждой итерации? Задача поставлена слишком по математический (абстрактно). Возьми конкретный алгоритм и проведи скоринг нескольких моделей. мимо погромист крашу кнопки за 300к