Дијаграм бинарног момента

С Википедије, слободне енциклопедије

Дијаграм бинарног момента је генерализација бинарног дијаграма одлучивања (енг. БДД) на линеарне функције преко домена као што су логичке, али такође на целе бројеве или на реалне бројеве.

Они могу да се баве са Буловим функцијама сложености сличној БДД-у, али такође неке функције се не баве веома ефикасно са БДД, док лако рукују са БМД.

Најважнија карактеристика БМД-а је да као и БДД свака функција има тачно једну канонску репрезентацију и многе операције се могу ефикасно извести на овим репрезентацијама.

Главна могућност која диференцира БМД од БДД-а је коришћење линеарних уместо "pointwise" дијаграма и постојање тежинских ивица.

Правила која обезбеђују каноничност репрезентације су :

  • Одлука преко промењивих већих у поретку могу само да показују на одлуке преко промењивих мањих у поретку.
  • Ни једна два чвора не смеју бити идентична
  • Ни један чвор не може имати све делове одлуке еквивалентне нули.
  • Ни једна ивица не сме да има тежину нула. (све такве ивице би требало заменити директим везама у 0 )
  • Тежине ивица би требало да се компримују. Без овог правила или неког правила њему еквивалентном , било би могиће за функцију да има висе репрезентација.

Одвојени и линеарна декомпозиција[уреди | уреди извор]

У одвојеној декомпозицији као у БДД-у , на сваку грану ми чувамо резултат свих грана одвојено. Пример такве декомпозиције за целобројну функцију (2x + y) је :

У линеарној декомпозицији ми дајемо уместо подразумеване вредности и разлике:

Лако се може уочити да је линеарна репрезентација много ефикаснија у случају адитивних функција, као кад додамо многе елементе, репрезентација ће имати само О(н) елемената, док претходна, чак са дељењем експоненцијално много.

Тежине ивица[уреди | уреди извор]

Још једно продужење је коришћење тежина за ивице. Вредност функције у датом чвору је збир тачних чворова испод њега пута тежина ивица. На пример се може репрезентовати као :

  1. Резултујуци цвор, увек 1× вредност чвора 2 , ако додај 4× вредност чвора четири.
  2. Увек 1× вредност чвора 3, ако додај 2× вредност чвора четири.
  3. Увек 0 , ако додај 1× вредност чвора 4.
  4. Увек 1× вредност чвора 5, ако додај +4.
  5. Увек 1× вредност чвора 6, ако додај +2.
  6. Увек 0 , ако додај +1.

Без тежинских чворова, много комплекснија репрезентација би била потребна :

  1. Резултујуци чвор, увек вредност чвора 2 , ако вредност чвора 4.
  2. Увек вредност чвора 3, ако вредност чвора 7.
  3. Увек 0 , ако вредност чвора 10.
  4. Увек вредност чвора 5, ако додај +16.
  5. Увек вредност чвора 6, ако додај +8.
  6. Увек 0 , ако додај +4.
  7. Увек вредност чвора 8, ако додај +8.
  8. Увек вредност чвора 9 , ако дода +4.
  9. Увек 0 , ако додај +2.
  10. Увек вредност чвора 11, ако додај +4.
  11. Увек вредност чвора 12, ако додај +2.
  12. Увек 0, ако додај +1