The Ordered Dimension of a Boolean Function Jean Vuillemin ENS, Paris • Dimension d= D (f) • Bound d ≤ |DD(f)| on all known bit-level DDs • Minimal multi-linear diagram d = |MLD(f)| • Incremental operations on MLDs Boolean Dimension 1
Regular Language Dimension s | mda (R)| • MDA: minimal deterministic automaton m da (R) m a d ( R 0 ) m da (R 1 ) R mda (R) , 0 , 1 R d • dim (R) lo g mda (R), Dimension: 2 d d s 2 • NXA: non-deterministic XOR automata • MXA: minimal NXA w.r.t. integer word ordering Theorem (Fliess 74) Theorem (Ga.Vu. 09) • All NXA for R have size ≥d • Minimal NXA d=|MXA(R)| (R=S) (MXA(R)=MXA(S)) • • Reduced NXA of size d exist • • Space n 2 + time n 3 minimization All reduced NXA are similar Boolean Dimension 2
Binary Decision Tree 1 1 ( ) ( ) f x x x f f f i msi f 0 1 2 2 n b n : [ ] b f f x b i | | n 2 3 ( 0) f x x f ( 1) f x x f n 2 n 1 2 n ? : f x f f 0 1 0 1 | | i n n bdt (f) f ( 00) ( 10) ( 00) ( 10) f x f x f x f x 0 0 0 0 0 n (000) (100) (011) (111) f f f f ? : ( ) 0,1, , , m x x x b dt m x x m Example 2 1 0 0 1 D (f) log | bdt(f), >| Definition 2 ( ), 1, , , , D ( ) 4 bdt m x x m m 0 1 Boolean Dimension 3
' x x x x Reduced Ordered 2 1 2 0 ? : Example: m x x x 2 1 0 Decision Diagrams x x x x x 0 0 2 1 2 BDD BDT MDA MXA 0 1 (1 ) f x f x f i i i 0 1 [ 0] [ 1] f f x f f x i i 0 1 0 1 0 0 1 1 Shannon BMT MMA BMD MLD f 0 f f x i x i i f 0 0 1 f f f 0 1 0 0 0 1 1 0 0 1 0 1 x i Reed-Muller bdt (f), = mda (f), = bdd (f), = mxa (f), ☺ Invariant: bmt (f), = mma (f), = bmd (f), mld (f), Boolean Dimension 4
Examples j k 2 k ways mux ( ) 2 msi 2 1 mx k x a x k a k 2 j j k ( ) msi hw k x w x k Hidden weight 1 w j j k ( ) ms i 2 1 spx k x x k Scalar XOR product 2 1 i k i i k ( ) ms i 2 1 spo k x x k Scalar OR product i 2 k i 1 i k i i ( )( ) ( 2) ms i 2 1 cfp k z x z x z mod k Carry-free product i i k i k i k Ő spx mx ~ f mx hw spx cfp spo ☺ ☺ ☠ ☠ ☠ ☠ ☠ BDD ☺ ☺ ☺ ☠ BMD ☠ ☠ ☠ ☺ ☺ ☺ ☺ ☺ ☺ ☠ MLD Boolean Dimension 5
Truth Tables f * for j 2 k k k x ( ) 2 2 x ( ) j xtt ( ) 2 j j x f Exclusive k f j k k x j k Truth-Table j 2 xnf ( ) mon ( ) x t t ( ) ( ) 2 f x k mon ( ) x x j k x x j j j k x k x j k j k ( ) ( ) g n f d ( ) ( ) BDT g BMT f n d Binary Moebius Transform ( ) ( ) BDT f BMT g oo oo O O g f f g n d tt ( ) ( )2 lip ( ) mon ( ) neg ( ) d f f n k k k Disjunctive ( 1) ( ) x i x i i i 2 2 dt t ( ) (0 1 ) x Truth-Table n e g ( ) ' k x dnf ( ) lip ( ) f d k i 2 j 1 ( 1 ) x i j k k d 0 0 ' ' ' f d x f f d d x x ' ' x x f f 1 ' ' ' x x x x x x x x x x 0 0 1 1 0 1 0 1 0 1 (0) (0) (2) (1) (2) 98 x x x x x x x x x x XNF 0 0 2 1 2 ? : x x x m 2 1 0 xt t ( ) 010001 1 9 8 m 2 ' x x x x 2 1 2 0 202 t m dt ( ) (01010 011) DNF x x ' x ' x x x ' x ' x x x x x 2 0 1 2 0 1 2 0 1 2 0 1 2 8 1 2 Boolean Dimension 6
Multi-Linear Diagram 0 1 1 ' 0 ' f x f xf 0 1 f f x f f f x f f f f Reed-Muller Shannon f Davio f f x x x x x x’ x 0 0 1 f 1 0 1 f f f 1 f 0 f f f f f f f f ' x x x x f 2 1 2 0 ( ) ? : x x x x m x x x 0 0 1 2 2 1 0 x ( ) x x x x x x x x x 2 0 1 f 0 0 2 1 2 MLD(m) x 1 x 0 0 1 f f 0 1 f ' x f xf 1 MXA(m) 1 x 2 x x x 1 2 2 ' x x 0 0 ? : 1 x x x f f 2 1 0 Boolean Dimension 7
Dimension Properties DD BDD BMD FDD KDD HDD IDD deterministic MXA BDD MLD non-deterministic Theorem Let f B i B have dimension d= D (f) N DD DD: d≤|DD(f)| 1. linear decomposition d = D (f ~ ) 2. mirror 3. d=|MLD(f)| minimal base f=g MLD(f)=MLD(g) 4. strong normal form d = D (f’) f≠0 5. not D (f g) ≤ D (f,g)< D (f)+ D (g) xor 6. D (f g) < D (f) x D (g) 7. and f: D (f) < 2 i/2+1 8. worst/average dim f: | BDD (f)| < 2 i+1 /i worst/average BDD Boolean Dimension 8
Minimal Base [b 1 … b d ] is a Reduced Basis for f if All RB are linearly similar. d= (f) and bdt(f) <b 1 … b d >. Theorem: Unique minimal basis B=base(f)=LC[b 1 … b d ]: All RB A=[a 1 … a d ] a.s.t. k: b k a k and k: b k <a k iff B A. Equally defined by: • Xor Sorted i<j: b i <b j <b i b j • Reduced Echelon Form i j: 0=b i 2 l(bj) xn f x x x x x 0 0 2 1 2 xtt 2 0100011 98 m i dd {0100011,01,011,0,1} {0,1,2,6,98} b s a e {1,0 1,001,0000011} {1,2, 8, 9 6 } Boolean Dimension 9
Minimal Multi-linear Diagram D ( ? : ) 4 m x x x ? : x x x 2 1 0 2 1 0 2 x base m ( ) 1 ( ) x x x x x 1 1 0 1 2 0 1 0 x 0 ( ) m x x x x 0 2 0 1 0 1 BDD b x (0) 2 t x 1 0 1 x ( ) x x x (1) 4 1 b x t x 2 0 1 2 1 2 1 x (2)( ) ( ) 96 b x b b t x t t 0 m 3 2 1 2 3 1 2 98 x t t m b b MLD 1 3 1 3 Boolean Dimension 10
MLD Adder Boolean Dimension 11
Incremental Operations on MLDs Broad Word Computer 1 bwc= d bops n 2 dn 2 Minimize(f) bwc bop Mirror(f) l 2 (d) bwc dl 2 (d) bop Xor(f,g) 1 bwc d bop d 2 d 3 And(f,g) bwc bop Boolean Dimension 12
Recommend
More recommend