Reed–Muller expansion

From HandWiki

In Boolean logic, a Reed–Muller expansion (or Davio expansion) is a decomposition of a Boolean function.

For a Boolean function f(x1,,xn):𝔹n𝔹 we call

fxi(x)=f(x1,,xi1,1,xi+1,,xn)fxi(x)=f(x1,,xi1,0,xi+1,,xn)

the positive and negative cofactors of f with respect to xi, and

fxi=fxi(x)fxi(x)

the boolean derivation of f with respect to xi, where denotes the XOR operator.

Then we have for the Reed–Muller or positive Davio expansion:

f=fxixifxi.

Description

This equation is written in a way that it resembles a Taylor expansion of f about xi=0. There is a similar decomposition corresponding to an expansion about xi=1 (negative Davio expansion):

f=fxixifxi.

Repeated application of the Reed–Muller expansion results in an XOR polynomial in x1,,xn:

f=a1a2x1a3x2a4x1x2a2nx1xn

This representation is unique and sometimes also called Reed–Muller expansion.[1]

E.g. for n=2 the result would be

f(x1,x2)=fx1x2fx2x1x1fx1x2x22fx1x2x1x2

where

2fx1x2=fx¯1x¯2fx¯1x2fx1x¯2fx1x2.

For n=3 the result would be

f(x1,x2,x3)=fx¯1x¯2x¯3fx¯2x¯3x1x1fx¯1x¯3x2x2fx¯1x¯2x3x32fx¯3x1x2x1x22fx¯2x1x3x1x32fx¯1x2x3x2x33fx1x2x3x1x2x3

where

3fx1x2x3=fx¯1x¯2x¯3fx¯1x¯2x3fx¯1x2x¯3fx¯1x2x3fx1x¯2x¯3fx1x¯2x3fx1x2x¯3fx1x2x3.

Geometric interpretation

This n=3 case can be given a cubical geometric interpretation (or a graph-theoretic interpretation) as follows: when moving along the edge from x¯1x¯2x¯3 to x1x¯2x¯3, XOR up the functions of the two end-vertices of the edge in order to obtain the coefficient of x1. To move from x¯1x¯2x¯3 to x1x2x¯3 there are two shortest paths: one is a two-edge path passing through x1x¯2x¯3 and the other one a two-edge path passing through x¯1x2x¯3. These two paths encompass four vertices of a square, and XORing up the functions of these four vertices yields the coefficient of x1x2. Finally, to move from x¯1x¯2x¯3 to x1x2x3 there are six shortest paths which are three-edge paths, and these six paths encompass all the vertices of the cube, therefore the coefficient of x1x2x3 can be obtained by XORing up the functions of all eight of the vertices. (The other, unmentioned coefficients can be obtained by symmetry.)

Paths

The shortest paths all involve monotonic changes to the values of the variables, whereas non-shortest paths all involve non-monotonic changes of such variables; or, to put it another way, the shortest paths all have lengths equal to the Hamming distance between the starting and destination vertices. This means that it should be easy to generalize an algorithm for obtaining coefficients from a truth table by XORing up values of the function from appropriate rows of a truth table, even for hyperdimensional cases (n=4 and above). Between the starting and destination rows of a truth table, some variables have their values remaining fixed: find all the rows of the truth table such that those variables likewise remain fixed at those given values, then XOR up their functions and the result should be the coefficient for the monomial corresponding to the destination row. (In such monomial, include any variable whose value is 1 (at that row) and exclude any variable whose value is 0 (at that row), instead of including the negation of the variable whose value is 0, as in the minterm style.)

Similar to binary decision diagrams (BDDs), where nodes represent Shannon expansion with respect to the according variable, we can define a decision diagram based on the Reed–Muller expansion. These decision diagrams are called functional BDDs (FBDDs).

Derivations

The Reed–Muller expansion can be derived from the XOR-form of the Shannon decomposition, using the identity x=1x:

f=xifxixifxi=xifxi(1xi)fxi=xifxifxixifxi=fxixifxi.

Derivation of the expansion for n=2:

f=fx¯1x1fx1=(fx¯2x2fx2)x¯1x1(fx¯2x2fx2)x1=fx¯1x¯2x2fx¯1x2x1(fx¯2x1x22fx1x2)=fx¯1x¯2x2fx¯1x2x1fx¯2x1x1x22fx1x2.

Derivation of the second-order boolean derivative:

2fx1x2=x1(fx2)=x1(fx¯2fx2)=(fx¯2fx2)x¯1(fx¯2fx2)x1=fx¯1x¯2fx¯1x2fx1x¯2fx1x2.

See also

References

  1. "Multilevel logic synthesis based on functional decision diagrams". Proceedings of the 3rd European Conference on Design Automation. 1992. 

Further reading

  • "O Tekhnyke Vychyslenyi Predlozhenyi v Symbolytscheskoi Logykye" (in ru, fr). Matematicheskii Sbornik (Moscow, Russia) 34 (1): 9–28. 1927. Mi msb7433. http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=sm&paperid=7433&option_lang=eng. Retrieved 2017-10-12. 
  • "A Class of Multiple-Error Correcting Codes and the Decoding Scheme". IRE Transactions on Information Theory IT-4: 38–49. September 1954. 
  • "Application of Boolean Algebra to Switching Circuit Design and to Error Detection". IRE Transactions on Electronic Computers EC-3: 6–12. September 1954. 
  • "Efficient graph-based computation and manipulation of functional decision diagrams". Proceedings of the 4th European Conference on Design Automation: 278–282. 1993. 
  • "Reed-Muller Logic". Logic 101. EETimes. 2006-11-29. Part 3. http://www.eetimes.com/author.asp?section_id=216&doc_id=1274545. 
  • "Preface". Logic Functions and Equations - Examples and Exercises (1st ed.). Springer Science + Business Media B. V.. 2009. p. xv. ISBN 978-1-4020-9594-8. 
  • "6. Historical Overview of the Research on Decomposition". A Survey of Literature on Function Decomposition. Functional Decomposition Group, Department of Electrical Engineering, Portland University, Portland, Oregon, USA. 1995-11-20. pp. 21–22.  (188 pages)