Boolean Function Evaluation Using Differential XOR Accumulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processing systems face challenges in efficiently evaluating Boolean functions due to their complex nature, which impacts performance and computational complexity, particularly when using tabulation or transformation techniques like ANF/CNF/DNF.
Innovation Solution
A processing system employing a differential calculation unit to calculate differentials Δf(y) = f(y) ⊕ f(y - 1), an accumulation unit to sum the product of Δf(y) and c2n−yx using XOR, and a XOR adder to evaluate Boolean functions efficiently, leveraging the Guilley Transform to reduce complexity and speed up evaluations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If tabulation technique is used to evaluate Boolean functions, then evaluation is straightforward, but memory consumption becomes excessively high
Solution Approach 1:
The patent extracts only the essential information needed for evaluation by computing differential values Δf(y) = f(y) ⊕ f(y-1), which capture the change in function output. This differential representation condenses the truth table information into a compact form that requires minimal storage while preserving all necessary evaluation data.
Solution Approach 2:
The patent transforms the evaluation problem from direct truth table lookup into a differential domain. By representing the Boolean function through its differential values and using the accumulation formula with carry operations, the system shifts from a memory-intensive spatial representation to a computational approach that trades minimal storage for efficient calculation.
2Adaptability or versatility
If transformation technique (ANF/CNF/DNF) is used to evaluate Boolean functions, then systematic evaluation is achieved, but computational complexity increases due to unnatural basis vector evaluations
Solution Approach 1:
The patent changes the representation parameters of the Boolean function from traditional bases (ANF, CNF, DNF) to a differential representation. By defining Δf(y) = f(y) ⊕ f(y-1) and using the accumulation formula involving carry operations, the system transforms the evaluation into a sequence of simple XOR and carry computations, reducing the complexity from evaluating complex monomials or minterms to basic arithmetic operations.
Solution Approach 2:
The patent substitutes the mechanical process of evaluating complex Boolean expressions (monomials, maxterms, minterms) with a simpler arithmetic mechanism based on carry propagation. The evaluation reduces to computing carries in arithmetic addition and accumulating results via XOR, replacing complex logical evaluations with straightforward arithmetic operations that are more efficient to implement.
3Extent of automation
If conventional Boolean function evaluation is used, then existing processing operations are maintained, but performance and evaluation speed are degraded
Solution Approach 1:
The patent performs preliminary computation of differential values Δf(y) for all y from 1 to 2^n-1. These differential values are precomputed and stored in a compact array, enabling the actual function evaluation to proceed rapidly by simply accumulating these precomputed values with carry operations, rather than computing the full Boolean expression from scratch during evaluation.
Solution Approach 2:
The patent segments the Boolean function evaluation into two distinct phases: (1) precomputation of differential values Δf(y) = f(y) ⊕ f(y-1), and (2) rapid evaluation through accumulation of these differentials weighted by carry values. This segmentation allows the computationally intensive part to be done once, while subsequent evaluations use only the lightweight accumulation step, dramatically improving speed for multiple evaluations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is provided a processing system (1) configured to execute one or more processing operations, the execution of said one or more processing operations involving the evaluation of at least one Boolean function. The processing system comprises an evaluation device (20) configured to evaluate each Boolean function f defined from F2n over F2, in a variable x of length n over F2n. The evaluation device (20) comprises: - a differential calculation unit (203) configured to calculate differentials Δf(y) = f(y) ⊕ f(y - 1) for each integer intermediary variable y ranging from 1 to 2n - 1; - An accumulation unit (201) configured to sum, using the XOR operator, the product of the differential Δf(y) and cn2n−yx for each value of y ranging from 1 to 2n - 1, according to the following XOR accumulation term ⊕y=12n−1Δfycn2n−yx, where cnzx is the function associating x to the outbound carry of arithmetic summation x + z ; - A XOR adder (204) configured to add f(0) to the result of the accumulation unit (201), wherein the output of the XOR adder provides the result of the evaluation of the Boolean function f.