# SelfTestingCorrecting

Top | recent changes | Preferences

In WeakPCPTheorem, we use self testing and correcting of "diagonal" linear functions to show a weak version of the PCP theorem. Here we describe the relevant parts of self testing and correcting of linear functions and diagonal linear functions.

### Self Testing and Correcting of Linear Functions

Let F:A→ B be a function over a finite domain A.

Assume A has the property that, for any U∈ A, if R is a random element of A, then U+R is also a random element in A.

DEFN: F is linear if, for every pair U,W ∈ A,

F(U)+F(W) = F(U + W).

DEFN: F is approximately linear if, for a random pair U,W ∈ A,

Pr[F(U)+F(W) = F(U + W)] ≥ 91/100 .

That is, for a random pair of points U and W, the "pairwise linearity test" F(U)+F(W) = F(U + W) holds with high probability.

SELF-CHECK ALGORITHM:

input: a subroutine that computes some function F: A→ B.
output: if F is linear, output is "pass". if F is not approximately linear, output is "fail" with probability at least 1/2.
1. Check the pairwise linearity test for 8 random pairs (U,W) ∈ A.
2. If any test fails, output "fail", else output "pass".

LEMMA: If F is linear, the SELF-CHECK algorithm outputs "pass". If F is not approximately linear, the SELF-CHECK algorithm outputs "fail" with probability at least 50%.
PROOF: The first claim is clear. If F is not approximately linear, the probability that the 8 random pairs satisfy the pairwise linearity test is at most (1-91/100)8 ≤ 1/2.
QED

Note that the SELF-CHECK algorithm checks F at only 24 places.

DEFN: F encodes a function G if, for all W∈ A, a random R∈ A satisfies

Pr[G(W) = F(W+R)-F(R)] ≥ 9/10 .

LEMMA:If F encodes a function G, then G is linear.
PROOF: Fix any U,W ∈ A. We will show that G(U+W) = G(U)+G(W). It suffices if, for some R,

G(U+W) = F(U+W+R)-F(R)
= G(U)+F(W+R)-F(R)
= G(U)+G(W)+F(R)-F(R)
For a random R, each of these three equalities holds individually with probability at least 9/10. By the naive union bound, the probability that any of the three fails to hold is at most 3/10. Thus, the probability that all succeed is at least 7/10. Thus, there exists an R for which they all hold.
QED

LEMMA: If F is approximately linear, then F encodes exactly one function G.
PROOF SKETCH: Fix any W∈ A. Let R and S be random elements in A. Then

Pr[ F(W+R)+F(S) = F(R+W+S) AND F(R)+F(W+S) = F(R+W+S)] ≥ 1-2*(1-91/100) = 82/100.
Thus,
Pr[ F(W+R)-F(R) = F(W+S)-F(S)] ≥ 82/100.
This implies that there exists a single value G(W) such that, for a random R,
Pr[ F(W+R)-F(R) = G(W)] ≥ 9/10.
(For example, suppose F(W+R)-F(R) takes on the value X with probability 9/10, and Y with probability 1/10. Then the probability that F(W+R)-F(R) = F(W+S)-F(S) is (9/10)2 + (1/10)2 = 82/100.
QED

SELF-CORRECT ALGORITHM(F,U):

input: an approximately linear function F:A→ B, and any U∈ A.
output: G(U), with probability at least 9/10, where G is the linear function encoded by F.
1. Choose a random R∈ A and output F(U+R)-F(U).

LEMMA: If F is approximately linear, then, for any W∈ A, with probability at least 9/10, SELF-CORRECT(F,W) outputs G(W), where G is the linear function encoded by F.
PROOF: That there is a unique linear function encoded by F follows from the lemmas above. That F(U+R)-F(R) = G(W) with probability at least 9/10 follows also from the lemmas above.
QED

### Self Testing and Correcting of "Diagonal" Linear Functions

Let F:Z2n× n→ Z2. Here Z2 denotes the finite field {0,1} with arithmetic mod 2.

We think of X∈ Z2n× n as a doubly subscripted vector (ie. a matrix), and we denote its elements as Xij for 1≤ i, j≤ n.

If F is a linear function, then it can be written as

F(X) = ij Xij Bij
for some B ∈ Z2n× n.

DEFN: F is a diagonal linear function if F can be written as

F(X) = ij Xij bi bj
for some b ∈ Z2n.

Note that any diagonal linear function is a linear function.

DEFN: F is an approximately diagonal linear function if F is approximately linear and the linear function that F encodes is a diagonal linear function.

ALGORITHM SELF-CHECK-DIAG(F):

input: a subroutine for computing a function F:Z2n× n→ B.
output: if F is a diagonal linear function, then "pass". If F is not approximately diagonal linear, then "fail" with probability at least 50%.
1. Check that F is approximately linear using the SELF-CHECK algorithm for approximately linear functions.
2. If that test fails, return "fail".
3. Repeat the following test 3 times:
4. Choose random vectors r,s ∈ Z2n and check G(rsT) = G(diag(r))G(diag(s)), using the SELF-CORRECT(F,W) algorithm for linear functions to evaluate G (with probability at least 9/10). Here G is the linear function encoded by F. diag(r) is the diagonal matrix where diag(r)ii = ri.
5. If all 3 tests pass, return "pass", else return "fail".

LEMMA: If F is a diagonal linear function, then SELF-CHECK-DIAG(F) (above) passes. If F is not an approximately diagonal linear function, then SELF-CHECK-DIAG(F) fails with probability at least 50%.
PROOF: If F is diagonal linear, then SELF-CHECK-DIAG clearly passes.

Suppose F is not approximately diagonal linear. If F is not approximately linear, then the SELF-CHECK for linear functions fails with probability at least 50%. So assume F is approximately linear, and let G be the linear function encoded by F.

Since G is linear, G(X) = ij Xij Cij for some C ∈ Z2n× n. By definition, G is diagonal iff C = bbT for some b∈ Z2n.

The condition rT C s = rT b bT r for some b is equivalent to G(rsT) = G(diag(r))G(diag(s)). (check) Note: here rsT denotes the matrix whose ij entry is ri sj.

This condition clearly holds if G is diagonal linear. On the other hand, If C ≠ bbT, then Pr[rT C s = rT b bT s] ≤ 1/4 for two random vectors r,s ∈ Z2n× n. (This is FreivaldsTrick, applied twice.) Thus, if G is not diagonal linear, then each of the last three checks made by the SELF-CHECK-DIAG algorithm will fail with probability at least 7/40 = (1-3/10)(1/4). (The (1-3/10) part is because, in evaluating G using the SELF-CORRECT subroutine, there is 1/10 chance that each evaluation fails to return the actual value of G(W).

Thus, if G is not diagonal linear, then the SELF-CHECK-DIAG will fail with probability at least 1-(1-7/40)3 > 1/2.

QED

Finally, note that SELF-CORRECTing an approximately diagonal linear function reduces trivially to SELF-CORRECTing a linear function.

References:
• ĀM.ĀBlum, M.ĀLuby, and R.ĀRubinfeld. Self-testing/correcting with applications to numerical problems. In Proc. 22nd ACM Symp. on Theory of Computing, pages 73-83, 1990.

Top | recent changes | Preferences