Диаграмма двоичных моментов
Эта статья может быть слишком технической для понимания большинства читателей . ( июнь 2022 г. ) |
Диаграмма двоичных моментов (BMD) представляет собой обобщение диаграммы двоичных решений (BDD) на линейные функции в таких областях, как логические значения (например, BDD), а также на целые или действительные числа. [1] [2]
Они могут обрабатывать логические функции со сложностью, сравнимой с BDD, но также некоторые функции, которые в BDD выполняются очень неэффективно, легко обрабатываются BMD, в первую очередь умножение .
Наиболее важными свойствами BMD является то, что, как и в случае с BDD, каждая функция имеет ровно одно каноническое представление, и над этими представлениями можно эффективно выполнять множество операций.
Основными особенностями, которые отличают BMD от BDD, являются использование линейных диаграмм вместо точечных и наличие взвешенных ребер.
Правилами, обеспечивающими каноничность изображения, являются:
- Решение по переменным, стоящим выше в порядке, может указывать только на решения по переменным, расположенным ниже по порядку.
- Никакие два узла не могут быть идентичными (при нормализации таких узлов все ссылки на один из этих узлов должны быть заменены ссылками на другой)
- Ни один узел не может иметь все части решения, равные 0 (ссылки на такие узлы должны быть заменены ссылками на их часть Always)
- Никакое ребро не может иметь нулевой вес (все такие ребра следует заменить прямыми ссылками на 0)
- Веса ребер должны быть взаимно простыми . Без этого правила или какого-либо его эквивалента функция могла бы иметь множество представлений, например, 2 x + 2 можно было бы представить как 2 · (1 + x ) или 1 · (2 + 2 x ).
Поточечная и линейная декомпозиция
[ редактировать ]При поточечной декомпозиции, как и в BDD, в каждой точке ветвления мы сохраняем результаты всех ветвей отдельно. Пример такого разложения для целочисленной функции (2 x + y ):
При линейной декомпозиции вместо этого мы предоставляем значение по умолчанию и разницу:
Легко видеть, что последнее (линейное) представление гораздо более эффективно в случае аддитивных функций, так как при добавлении большого количества элементов последнее представление будет иметь только O( n ) элементов, а первое (поточечное) даже с разделением , экспоненциально много.
Краевые веса
[ редактировать ]Другое расширение — использование весов для ребер. Значение функции в данном узле представляет собой сумму истинных узлов ниже него (узла под всегда и, возможно, выбранного узла), умноженных на веса ребер.
Например, можно представить как:
- Узел результата, всегда 1× значение узла 2, если добавить 4× значение узла 4
- Всегда 1× значение узла 3, если добавить 2× значение узла 4
- Всегда 0, если добавить 1× значение узла 4
- Всегда 1× значение узла 5, если добавить +4
- Всегда 1× значение узла 6, если добавить +2
- Всегда 0, если добавить +1
Без взвешенных узлов потребовалось бы гораздо более сложное представление:
- Узел результата, всегда значение узла 2, если значение узла 4
- Всегда значение узла 3, если значение узла 7
- Всегда 0, если значение узла 10
- Всегда значение узла 5, если добавить +16
- Всегда значение узла 6, если добавить +8
- Всегда 0, если добавить +4
- Всегда значение узла 8, если добавить +8
- Всегда значение узла 9, если добавить +4
- Всегда 0, если добавить +2
- Всегда значение узла 11, если добавить +4
- Всегда значение узла 12, если добавить +2
- Всегда 0, если добавить +1
Ссылки
[ редактировать ]- ^ Наканиси, Масаки; Хамагути, Киёхару; Касивабара, Тошинобу (25 мая 1999 г.). «Экспоненциальная нижняя граница размера двоичной диаграммы моментов, представляющей целое число» . IEICE Transactions по основам электроники, связи и информатики . Е82-А (5): 756–766. ISSN 0916-8508 .
- ^ Сасао, Т.; Нагаяма, С. (май 2006 г.). «Представления элементарных функций с помощью двоичных диаграмм моментов» . 36-й Международный симпозиум по многозначной логике (ISMVL'06) . п. 28. дои : 10.1109/ISMVL.2006.37 . ISBN 0-7695-2532-6 . S2CID 11622605 .