二分決定図
このデータ構造を生み出すきっかけとなった考え方はシャノン展開である。スイッチング関数(ブール関数)は、1つの変数に着目した2つの部分関数に分割できる。そのような部分関数を部分木とみなせば、これを二分決定木で表現できる。二分決定図(BDD)は、Lee (1959年)が最初に紹介し、Akers (1978年)や Boute (1976年)でさらに研究が行われ、広まっていった。
このデータ構造を使った効率的アルゴリズムの可能性を見出したのはカーネギーメロン大学の Bryant である。彼の行った拡張は(簡約表現のための)固定変数順序の使用と(圧縮のための)部分グラフの共有である。これらを適用することで、集合や関係を表現するための効率的なデータ構造とアルゴリズムができる。複数のBDDを共有するよう拡張することにより(1つの部分グラフを複数のBDDで利用する)、共有ROBDDというデータ構造が定義された。これを単に BDD と称するのが一般的となっている。
より抽象的なレベルでは、BDD は集合や関係の圧縮表現とみなすことができる。他の圧縮との違いは、具体的な操作をその圧縮表現上で行うことができ、伸張する必要がない点である。