SelfTestingCorrecting

Top | recent changes | Preferences

Difference (from prior major revision) (no other diffs)

Changed: 96c96
SELF-CHECK ALGORITHM(F):
ALGORITHM SELF-CHECK-DIAG(F):

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

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%.


Changed: 110c110
If F is diagonal linear, then SELF-CHECK clearly passes.
If F is diagonal linear, then SELF-CHECK-DIAG clearly passes.

Changed: 126c126
Thus, if G is not diagonal linear, then each of the last three checks made by the SELF-CHECK algorithm
Thus, if G is not diagonal linear, then each of the last three checks made by the SELF-CHECK-DIAG algorithm

Changed: 131c131
Thus, if G is not diagonal linear, then the SELF-CHECK will fail with probability at least 1-(1-7/40)3 > 1/2.
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.

Changed: 140c140
* 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.
* 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.

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:

Top | recent changes | Preferences
This page is read-only | View other revisions
Last edited February 10, 2004 6:48 pm by NealYoung (diff)
Search: