Для работы 'Сшивки' нужен функциональный базис.
В эпоху тотальной автоматизации и развития искусственного интеллекта составлять базис вручную - достаточно утомительное и бесполезное занятие.
Для автоматической генерации необходимых блоков можно использовать генераторы функций.
В текстовых файлах с именами, начинающимся с "generator": generator.txt, generator2.txt итд. добавляются функции-генераторы вида:
Трансформатор
-переменное напряжение_вольт{вход1}
-переменное напряжение_вольт{вход1*5/220}
В фигурных скобках задаются переменные (на входных параметрах) и вычисляемые формулы (на выходных параметрах).
В схематичном виде это будет выглядеть так:
При старте система ищет возможные варианты выходных параметров функций в уже существующем базисе. При совпадении измерений (модальностей) с входными параметрами генератора, создает на их основе необходимые для комбинаторики функции.
Входных переменных параметров может быть несколько (в данном случае - ктранс1):
Трансформатор понижающий
-переменное напряжение_вольт{вход1}, ктранспониж_{ктранс1}
-переменное напряжение_вольт{вход1/ктранс1}
Трансформатор повышающий
-переменное напряжение_вольт{вход1}, ктрансповыш_{ктранс1}
-переменное напряжение_вольт{вход1*ктранс1}
Тогда в базисе (db*.txt) надо создать функцию с комбинациями для данного параметра генераторов:
Коэф. трансформации
-
-ктранспониж_44, ктрансповыш_5, ктрансповыш_10
Как вы видите, самими модальностями параметров можно ограничивать количество сгенерированных функций (ктранспониж_, ктрансповыш_) либо сделать измерения более общими (ктранс_).
Если у некоторой функции будет выходной параметр с диапазоном:
Генератор переменного тока
-бензин
-переменное напряжение_180-230вольт
Генератор функций учтет этот момент:
Если параметры в базисе имеют операторы сравнения (>, <, >=, <=), то они переносятся в генерируемые функции:
Операторы сравнения в шаблонах самих генераторов (напряжение_>={вход1}вольт) игнорируются.
Саму 'Сшивку' можно скачать тут.