Есть и 4-е преобразование, не меняющее функционал схемы, но меняющее её граф соединений: перестановка любых двух (не обязательно идентичных) последовательно включенных двухполюсника (резистор, конденсатор, дроссель, выключатель, лампочка, светодиод, диод, ...).
Все такие компоненты будут под корнем дерева. ОБработаем такую ситуацию следующим образом:
1. Потребуем, чтобы в нашем дереве эквивалентные узлы шли подряд в списке детей любого узла. Назовём это отношение эквивалентности
эквивалентностью типа.
2. Добавляем понятие
временных отношений эквивалентности, являющихся следствием конкретной схемы. Все элементы в каждой последовательной цепочке в схеме считаем временно эквивалентными. Это
другое отношение эквивалентности.
3. Потребуем, чтобы цепочки индексов временно эквивалентных узлов, также, располагались в лексикографическом порядке. Чтобы этого добиться, сортируем цепочки индексов узлов сначала с использованием временной эквивалентности, а потом с использованием эквивалентности типа. Так как эквивалентные по типу узлы расположены в дереве последовательно, сортировка их цепочек индексов не нарушит лексикографический порядок цепочек индексов временно эквивалентных узлов.
Все сортировки проводим для каждого узла в дереве при обходе дерева в обратном порядке.
UPD Нет, это работает только с одиночными последовательно включенными компонентами, но не с группами параллельных компонентов.
UPD2 есть ещё симметрии, связанные с возможностью произвольной перенумерации проводов.