Использование весов bitgate в геометрической сети
Веса bitgate являются эффективным способом представления режимов, или методов прохождения, в сети. Они используются в сложных приложениях - для большинства приложений они не требуются. Наиболее простой пример использования весов bitgate - электрическая сеть, в которой ребра сети отображаются с обозначением различных фаз, A, B, C или любой их комбинации.
Ребра сети часто являются мультимодальными, это означает, что они могут поддерживать различные комбинации режимов. В вышеприведенном примере четырех режимов транспортировки, имеется 16 возможных комбинаций (24) режимов, эта комбинаторная природа режимов делает веса bitgate полезными. Разработчик, создающий механизм расчета, может использовать операторы bitmasks и binary для фильтрации bitgate веса. Веса bitgate также делают эффективным хранение; веса в диапазоне от 0 до 15 требуют всего 4 бита, в отличие от 16 бит для коротких целых. Это следует учитывать только при построении очень больших сетей.
На примере ниже показано, как работать с геометрическими сетями, моделирующими электрические фазы. Геометрическая сеть содержит 3-битовый bitgate вес для моделирования трех электрических фаз (A, B и C). Каждая фаза представлена одним из трех битов: фаза A = 4 (третий бит), фаза B = 2 (второй бит), фаза C = 1 (первый бит). Каждое разрешенное значение должно быть введено в диапазон фильтра весов. Например:
Для трассировки фазы AB (либо можно использовать состояние фазы C), диапазон фильтра весов должен быть '6, 7, 0.' 6 обозначает состояние 'A AND B AND Not C,' а 7 - 'A AND B AND C.' Ноль означает, что трассировка возможно для объектов, которые не имеют связанного атрибута этого веса bitgate; например, для системных соединений.
Для трассировки фазы A (либо можно использовать состояние фаз B и C), диапазон фильтра весов будет '4, 5, 6, 7, 0.'