Fast Walsh Transform. 2 3 4 5 6 7 Unexpected Distance One way to measure a sort of "correlation" between two Boolean functions is to compare their.

Slides:



Advertisements
Similar presentations
PROOF BY CONTRADICTION
Advertisements

Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
Combinational Circuits. Analysis Diagram Designing Combinational Circuits In general we have to do following steps: 1. Problem description 2. Input/output.
Lecture 3: Parallel Algorithm Design
INTEGERS Integers include: the counting numbers….
Recursion. Recursion is a powerful technique for thinking about a process It can be used to simulate a loop, or for many other kinds of applications In.
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
Addition (2). Outline Full Adder 3-Bit Adder 2’s Complement Subtraction.
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
CS 584. Review n Systems of equations and finite element methods are related.
Wavelet Packets For Wavelets Seminar at Haifa University, by Eugene Mednikov.
Balanced and constant functions as seen by Hadamard = Matrix M Vector V Vector S This is number of minterms “0” in the function.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 11 Sorting and Searching.

Fast Spectral Transforms and Logic Synthesis DoRon Motter August 2, 2001.
Weights of Observations
Designed by David Jay Hebert, PhD Problem: Add the first 100 counting numbers together … We shall see if we can find a fast way of doing.
2.3 Subtracting Real Numbers Objectives: Define subtraction in terms of addition. Subtract numbers with like & unlike signs. Standards Addressed: F:
NEGATIVE BINARY NUMBER – Digital Circuit 1 Choopan Rattanapoka.
ADDING INTEGERS Positive + Positive = Positive Positive + Positive = Positive ( +3) + (+2) = +5 ( +3) + (+2) = +5 When a number is positive, you do not.
February 25, 2002Applied Discrete Mathematics Week 5: Mathematical Reasoning 1 Addition of Integers How do we (humans) add two integers? Example: 7583.
Cryptography, Attacks and Countermeasures Lecture 4 –Boolean Functions John A Clark and Susan Stepney Dept. of Computer Science University of York, UK.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
When we add or subtract integers we can use a number line to help us see what is happening with the numbers.
Engineering 1040: Mechanisms & Electric Circuits Spring 2014 Number Systems.
Multiplication of signed-operands
Properties of Real Numbers
Complexity 20-1 Complexity Andrei Bulatov Parallel Arithmetic.
Adding Integers. Zero Pair = 0 Why it works… __________ Property says you can add or subtract zero without changing the value of an expression.
1 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lecture 20 (2009)
CS 376b Introduction to Computer Vision 04 / 28 / 2008 Instructor: Michael Eckmann.
Positive and Negative numbers. Negative numbers A positive or negative whole number, including zero, is called an integer. For example, –3 is an integer.
 Deviation: The distance that two points are separated from each other.  Deviation from the mean: How far the data point is from the mean. To find this.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Computer Science 101 More Devices: Arithmetic. From 1-Bit Equality to N-Bit Equality = A B A = B Two bit strings.
1 Digital Logic Design Lecture 2 More Number Systems/Complements.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Lecture 3 Appendix 1 Computation of the conditional entropy.
1 Ethics of Computing MONT 113G, Spring 2012 Session 4 Binary Addition.
UNIT 2. ADDITION & SUBTRACTION OF SIGNED NUMBERS.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
August 2003 CIS102/LECTURE 9/FKS 1 Mathematics for Computing Lecture 9 LOGIC Chapter 3.
Chapter 15 Running Time Analysis. Topics Orders of Magnitude and Big-Oh Notation Running Time Analysis of Algorithms –Counting Statements –Evaluating.
Chapter 12. Chapter Summary Boolean Functions Representing Boolean Functions Logic Gates Minimization of Circuits (not currently included in overheads)
Objectives Today: P4 Data Types – Floating Points P4 Variable Quiz P3 Iteration and Selection Practical Are you logged on? Then come around the table Unit.
Subtracting Integers Ch. 11-2D.
Prof. Sin-Min Lee Department of Computer Science
University of Maryland Baltimore County Department of Computer Science and Electrical Engineering   CMPE 212 Laboratory (Discussion 6) Hasib Hasan
Sequences and Series (Unit 1C)
5 Systems of Linear Equations and Matrices
Fast Fourier Transform
Using Rules to Subtract Integers
Chapter 6.
Fast Algorithms for Walsh Hadamard Transform on Sliding Windows
You think you can just do your sums in any order you like. THINK AGAIN
Instructor: Alexander Stoytchev
Unit-2 Divide and Conquer
Mean Absolute Deviation
Week 7: Gates and Circuits: PART II
What is the value of -(A>-B) for each of the ways A and B
Transform and Conquer Transform and Conquer Transform and Conquer.
Instructor: Alexander Stoytchev
Adding Integers To add two integers with the same sign, find the sum of their absolute values. Use the sign of the two integers. To add two integers with.
Instructor: Alexander Stoytchev
Transform and Conquer Transform and Conquer Transform and Conquer.
Trevor Brown DC 2338, Office hour M3-4pm
Mean Absolute Deviation
Mean Absolute Deviation
Algorithms.
Presentation transcript:

Fast Walsh Transform

2

3

4

5

6

7

Unexpected Distance One way to measure a sort of "correlation" between two Boolean functions is to compare their truth tables and count the number of bits which differ; this is their Hamming distance. Since we expect about half the bit positions to differ (on average), we can subtract that expected distance and come up with what I am calling -- for lack of a better term -- the "unexpected distance" (UD). The magnitude of the UD relates to just how unexpected the distance is, while the sign indicates the direction. Consider two functions and their difference:

Unexpected Distance Here we have a Hamming distance of 6 between the two functions. This is an unexpected distance or UD of = +2, which means that 2 more bits differ than we would expect.

Unexpected Distance Another way to compute Boolean correlation is to accumulate the bits of one function (as integers) by addition or subtraction as selected by the other function. For example:

Unexpected Distance This technique yields the UD value directly. With some work, we can now compare a Boolean function to each possible affine Boolean function, and develop both a distance and an unexpected distance to each:

Hadamard Matrix

So if we map the values in the affine truth table: {0,1} -> {1,-1}, we find the same functions as in the Hadamard development. These are the Walsh functions, and here both developments produce the same order, which is called "natural" or "Hadamard." Walsh functions have fast transforms which reduce the cost of correlation computations from n*n to n log n, which can be a very substantial reduction.

The Fast Walsh-Hadamard Transform A Fast Walsh Transform (FWT) essentially computes the correlations which we have been calling the "unexpected distance" (UD). It does this by calculating the sum and difference of two elements at a time, in a sequence of particular pairings, each time replacing the elements with the calculated values.

The Fast Walsh-Hadamard Transform Let's do the FWT of function f: ( ) (a',b') = (a+b, a-b) So for the values (1,0), we get (1+0, 1-0) which is just (1,1). We start out pairing adjacent elements, then every other element, then every 4th element, and so on until the correct pairing is impossible:

The Fast Walsh-Hadamard Transform