The present paper on classification of
Classification of nonlinear Boolean functions has been a long standing problem in the field of theoretical computer science. A systematic classification of Boolean functions with
Earlier, when two Boolean functions of
In this paper, two methods have been proposed for generating equivalence classes of Boolean functions with a specific objective in our mind that, in each class, exactly one affine Boolean function is present. The first method is a recursive approach to classify
In the following sections, the paper is organized in a precise methodical manner. In Section
An
A Boolean function with algebraic expression, where the degree is at most one is called an affine Boolean function. The general form for
If the constant term
The concatenation of the Boolean function
Note that if
Apart from the above concatenations as stated in Theorem
The proof of the corollary easily follows from Theorem
In this section, two different methods have been proposed to classify the set of all possible
Let
Base case: (for
Recursion: (for
The recursive procedure of (
The result follows because of the fact that
The number of different classes in the above classification is
As each class contains exactly one affine Boolean function, the number of classes of
The classes are of equal size and the cardinality of each class is equal to
The equal size of the classes easily follows from the cardinality of the two sets
The least significant bit of all the Boolean functions in
When
Interestingly, the relation defined in the recursive procedure is operating on the set of
For each class of
for
So the formula is true for all the values of
The set of bit positions which are changing in a class can be calculated by subtracting the set of invariant bit positions from the set
The bit positions which are fixed or changing are invariant for all classes with respect to the concerned affine function of that class.
The formula given in Theorem
Using the result of Theorem
Let
If
If
Let
Initialize
for
{
}
return
By invoking the above function in an algorithm, we can get other nonlinear functions in a class. For this purpose, one has to put all possible binary sequences of length
The method of keeping some of the bit positions fixed and varying other bit positions with respect to a Boolean function will be a handle to find out equivalence classes of equal cardinality.
The number of equivalence classes is equal to
Different set of fixed positions generates different classes of Boolean functions.
The number of members in a particular class is
How to select the set of representative functions that generate disjoint equivalence classes of equal cardinality? The generators are all possible
Any Boolean function of a class can be a representative of that class. In fact, taking affine function as the representative of a class will provide us with the guarantee of the inclusion of that affine function in that class.
In this section, classes are divided into several subclasses on using the Hamming distance (HD) between the Boolean functions and the affine function in that class. Also, the classes are analyzed on performing XOR and CVT operations among the functions of a class.
Hamming distance (HD) between two Boolean functions is denoted as
Different subclasses of class 1.
Boolean functions  Decimal value  HD wrt affine Boolean function  No. of Boolean function 


0  0  1 
 
00000010  2  1  4 
00100000  32  
00001000  8  
00000100  4  
 
00100010  34  2  6 
00001010  10  
00101000  40  
00001100  12  
00000110  4  
00100100  36  
 
00101010  42  3  4 
00001110  14  
00101100  44  
00001100  12  
00100110  38  
 
00101110  36  4  1 
Let
XOR values of class 1 of 3variable Boolean functions.



















0  2  4  6  8  10  12  14  32  34  36  38  40  42  44  46 

2  0  6  4  10  8  14  12  34  32  38  36  42  40  46  44 

4  6  0  2  12  14  8  10  36  38  32  34  44  46  40  42 

6  4  2  0  14  12  10  8  38  36  34  32  46  44  42  40 

8  10  12  14  0  2  4  6  40  42  44  46  32  34  36  38 

10  8  14  12  2  0  6  4  42  40  46  44  34  32  38  36 

12  14  8  10  4  6  0  2  44  46  40  42  36  38  32  34 

14  12  10  8  6  4  2  0  46  44  42  40  38  36  34  32 

32  34  36  38  40  42  44  46  0  2  4  6  8  10  12  14 

34  32  38  36  42  40  46  44  2  0  6  4  10  8  14  12 

36  38  32  34  44  46  40  42  4  6  0  2  12  14  8  10 

38  36  34  32  46  44  42  40  6  4  2  0  14  12  10  8 

40  42  44  46  32  34  36  38  8  10  12  14  0  2  4  6 

42  40  46  44  34  32  38  36  10  8  14  12  2  0  6  4 

44  46  40  42  36  38  32  34  12  14  8  10  4  6  0  2 

46  44  42  40  38  36  34  32  14  12  10  8  6  4  2  0 
Let
CVT patterns of class 1 of 3variable Boolean functions.

The novelty of this paper lies in its systematic classification of Boolean functions with focal emphasis on the prominent binary operations like Hamming distance, XOR, and CVT. The present analytical study introduces a new way towards the formulation of an universal classifier of arbitrary length which is being actively pursued. The procedures followed in this paper are very handy and useful even for our future experimental research in this domain of theoretical computer science. A number of tables have been incorporated in this paper for easy reference and clear comprehension showing varied subclasses, patterns, and values of different classes.
Table
Class 1  
 
BF  DV  HD  No. of BF 
 

0  0  1 
 
00000010  2  1  4 
00100000  32  
00001000  8  
00000100  4  
 
00100010  34  2  6 
00001010  10  
00101000  40  
00001100  12  
00000110  6  
00100100  36  
 
00101010  42  3  4 
00001110  14  
00101100  44  
00100110  38  
 
00101110  46  4  1 
 
Class 2  
 
BF  DV  HD  No. of BF 
 

170  0  1 
 
10100010  162  1  4 
10101000  168  
10001010  138  
10101110  174  
 
10100000  160  2  6 
10000010  130  
10001000  136  
10101100  172  
10001110  142  
10100110  166  
 
10000000  128  3  4 
10001100  140  
10100100  164  
10000110  134  
 
10000100  132  4  1 
 
Class 3  
 
BF  DV  HD  No. of BF 
 

204  0  1 
 
11001000  200  1  4 
11001110  206  
11101100  236  
11000100  196  
 
11000000  192  2  6 
11001010  202  
11101000  232  
11101110  238  
11000110  198  
11100100  228  
 
11000010  194  3  4 
11100000  224  
11101010  234  
11100110  230  
 
11100010  226  4  1 
 
Class 4  
 
BF  DV  HD  No. of BF 
 

102  0  1 
 
01100010  98  1  4 
01101110  110  
01100100  100  
01000110  70  
 
01100000  96  2  6 
01000010  66  
01101010  106  
01101100  108  
01001110  78  
01000100  68  
 
01000000  64  3  4 
01101000  104  
01001010  74  
01001100  76  
 
01001000  72  4  1 
 
Class 5  
 
BF  DV  HD  No. of BF 
 

240  0  1 
 
11110010  242  1  4 
11010000  208  
11111000  248  
11110100  244  
 
11010010  210  2  6 
11111010  250  
11011000  216  
11111100  252  
11110110  246  
11010100  212  
 
11011010  218  3  4 
11111110  254  
11011100  220  
11010110  214  
 
11011110  222  4  1 
 
Class 6  
 
BF  DV  HD  No. of BF 
 

90  0  1 
 
01010010  82  1  4 
01011000  88  
01111010  122  
01011110  94  
 
01010000  80  2  6 
01110010  114  
01111000  120  
01011100  92  
01111110  126  
01010110  86  
 
01110000  112  3  4 
01111100  124  
01010100  84  
01110110  118  
 
01110100  116  4  1 
 
Class 7  
 
BF  DV  HD  No. of BF 
 

60  0  1 
 
00111000  56  1  4 
00111110  62  
00011100  28  
00110100  52  
 
00110000  48  2  6 
00111010  58  
00011000  24  
00011110  30  
00110110  54  
00010100  20  
 
00110010  50  3  4 
00010000  16  
00011010  26  
00010110  22  
 
00010010  18  4  1 
 
Class 8  
 
BF  DV  HD  No. of BF 
 

150  0  1 
 
10010010  146  1  4 
10011110  158  
10010100  148  
10110110  182  
 
10010000  144  2  6 
10110010  178  
10011010  154  
10011100  156  
10111110  190  
10110100  180  
 
10110000  176  3  4 
10011000  152  
10111010  186  
10111100  188  
 
10111000  184  4  1 
 
Class 9  
 
BF  DV  HD  No. of BF 
 

255  0  1 
 
11111101  253  1  4 
11011111  223  
11110111  247  
11111011  251  
 
11011101  221  2  6 
11110101  245  
11010111  215  
11110011  243  
11111001  249  
11011011  219  
 
11010101  213  3  4 
11110001  241  
11010011  211  
11011001  217  
 
11010001  209  4  1 
 
Class 10  
 
BF  DV  HD  No. of BF 
 

85  0  1 
 
01011101  93  1  4 
01010111  87  
01110101  117  
01010001  81  
 
01011111  95  2  6 
01111101  125  
01110111  119  
01010011  83  
01110001  113  
01011001  89  
 
01111111  127  3  4 
01110011  115  
01011011  91  
01111001  121  
 
01111011  123  4  1 
 
Class 11  
 
BF  DV  HD  No. of BF 
 

51  0  1 
 
00110111  55  1  4 
00110001  49  
00010011  19  
00111011  59  
 
00111111  63  2  6 
00110101  53  
00010111  23  
00010001  17  
00111001  57  
00011011  27  
 
00111101  61  3  4 
00011111  31  
00010101  21  
00011001  25  
 
00011101  29  4  1 
 
Class 12  
 
BF  DV  HD  No. of BF 
 

153  0  1 
 
10011101  157  1  4 
10010001  145  
10011011  155  
10111001  185  
 
10011111  159  2  6 
10111101  189  
10010101  149  
10010011  147  
10110001  177  
10111011  187  
 
10111111  191  3  4 
10010111  151  
10110101  181  
10110011  179  
 
10110111  183  4  1 
 
Class 13  
 
BF  DV  HD  No. of BF 
 

15  0  1 
 
00001101  13  1  4 
00101111  47  
00000111  7  
00001011  11  
 
00101101  45  2  6 
00000101  5  
00100111  39  
00000011  3  
00001001  9  
00101011  43  
 
00100101  37  3  4 
00000001  1  
00100011  35  
00101001  41  
 
00100001  33  4  1 
 
Class 14  
 
BF  DV  HD  No. of BF 
 

165  0  1 
 
10101101  173  1  4 
10100111  167  
10000101  133  
10100001  161  
 
10101111  175  2  6 
10001101  141  
10000111  135  
10100011  163  
10000001  129  
10101001  169  
 
10001111  143  3  4 
10000011  131  
10101011  171  
10001001  137  
 
10001011  139  4  1 
 
Class 15  
 
BF  DV  HD  No. of BF 
 

195  0  1 
 
11000111  199  1  4 
11000001  193  
11100011  227  
11001011  203  
 
11001111  207  2  6 
11000101  197  
11100111  231  
11100001  225  
11001001  201  
11101011  235  
 
11001101  205  3  4 
11101111  239  
11100101  229  
11101001  233  
 
11101101  237  4  1 
 
Class 16  
 
BF  DV  HD  No. of BF 
 

105  0  1 
 
01101101  109  1  4 
01100001  97  
01101011  107  
01001001  73  
 
01101111  111  2  6 
01001101  77  
01100101  101  
01100011  99  
01000001  65  
01001011  75  
 
01001111  79  3  4 
01100111  103  
01000101  69  
01000011  67  
 
01000111  71  4  1 
BF: Boolean function, DV: decimal value, HD: Hamming distance, and No. BF: number of Boolean functions.
Table



















0  2  4  6  8  10  12  14  32  34  36  38  40  42  44  46 

2  0  6  4  10  8  14  12  34  32  38  36  42  40  46  44 

4  6  0  2  12  14  8  10  36  38  32  34  44  46  40  42 

6  4  2  0  14  12  10  8  38  36  34  32  46  44  42  40 

8  10  12  14  0  2  4  6  40  42  44  46  32  34  36  38 

10  8  14  12  2  0  6  4  42  40  46  44  34  32  38  36 

12  14  8  10  4  6  0  2  44  46  40  42  36  38  32  34 

14  12  10  8  6  4  2  0  46  44  42  40  38  36  34  32 

32  34  36  38  40  42  44  46  0  2  4  6  8  10  12  14 

34  32  38  36  42  40  46  44  2  0  6  4  10  8  14  12 

36  38  32  34  44  46  40  42  4  6  0  2  12  14  8  10 

38  36  34  32  46  44  42  40  6  4  2  0  14  12  10  8 

40  42  44  46  32  34  36  38  8  10  12  14  0  2  4  6 

42  40  46  44  34  32  38  36  10  8  14  12  2  0  6  4 

44  46  40  42  36  38  32  34  12  14  8  10  4  6  0  2 

46  44  42  40  38  36  34  32  14  12  10  8  6  4  2  0 



















0  2  4  6  8  10  12  14  32  34  36  38  40  42  44  46 

2  0  6  4  10  8  14  12  34  32  38  36  42  40  46  44 

4  6  0  2  12  14  8  10  36  38  32  34  44  46  40  42 

6  4  2  0  14  12  10  8  38  36  34  32  46  44  42  40 

8  10  12  14  0  2  4  6  40  42  44  46  32  34  36  38 

10  8  14  12  2  0  6  4  42  40  46  44  34  32  38  36 

12  14  8  10  4  6  0  2  44  46  40  42  36  38  32  34 

14  12  10  8  6  4  2  0  46  44  42  40  38  36  34  32 

32  34  36  38  40  42  44  46  0  2  4  6  8  10  12  14 

34  32  38  36  42  40  46  44  2  0  6  4  10  8  14  12 

36  38  32  34  44  46  40  42  4  6  0  2  12  14  8  10 

38  36  34  32  46  44  42  40  6  4  2  0  14  12  10  8 

40  42  44  46  32  34  36  38  8  10  12  14  0  2  4  6 

42  40  46  44  34  32  38  36  10  8  14  12  2  0  6  4 

44  46  40  42  36  38  32  34  12  14  8  10  4  6  0  2 

46  44  42  40  38  36  34  32  14  12  10  8  6  4  2  0 



















0  2  4  6  8  10  12  14  32  34  36  38  40  42  44  46 

2  0  6  4  10  8  14  12  34  32  38  36  42  40  46  44 

4  6  0  2  12  14  8  10  36  38  32  34  44  46  40  42 

6  4  2  0  14  12  10  8  38  36  34  32  46  44  42  40 

8  10  12  14  0  2  4  6  40  42  44  46  32  34  36  38 

10  8  14  12  2  0  6  4  42  40  46  44  34  32  38  36 

12  14  8  10  4  6  0  2  44  46  40  42  36  38  32  34 

14  12  10  8  6  4  2  0  46  44  42  40  38  36  34  32 

32  34  36  38  40  42  44  46  0  2  4  6  8  10  12  14 

34  32  38  36  42  40  46  44  2  0  6  4  10  8  14  12 

36  38  32  34  44  46  40  42  4  6  0  2  12  14  8  10 

38  36  34  32  46  44  42  40  6  4  2  0  14  12  10  8 

40  42  44  46  32  34  36  38  8  10  12  14  0  2  4  6 

42  40  46  44  34  32  38  36  10  8  14  12  2  0  6  4 

44  46  40  42  36  38  32  34  12  14  8  10  4  6  0  2 

46  44  42  40  38  36  34  32  14  12  10  8  6  4  2  0 
Table



The authors are grateful to Professor Birendra Kumar Nayak of Utkal University and Mr Sk. Sarif Hassan of Institute of Mathematics and Applications, Bhubaneswar, for their valuable suggestions.