
CUUS063 main CUUS063 Goldreich 978 0 521 88473 0 March 31, 2008 18:49
THE BRIGHT SIDE OF HARDNESS
Definition 7.17 (efficient codes supporting implicit decoding): For fixed functions
q, : N → N and α : N → (0, 1], the mapping : {0, 1}
∗
→{0, 1}
∗
is said to be
efficient and supports implicit decoding with parameters q,,α if it satisfies the
following two conditions:
1. Encoding (or efficiency): The mapping is polynomial-time computable.
It is instructive to view as mapping N -bit long strings to sequences of length
(N ) over [q(N )], and to view each (codeword) (x) ∈ [q(|x|)]
(|x |)
as a map-
ping from [(|x|)] to [q(|x|)].
2. Decoding (in implicit form): There exists a polynomial p such that the fol-
lowing holds. For every w :[(N )]→[q(N )] and every x ∈{0, 1}
N
such that
(x) is (1 − α(N ))-close to w, there exists an oracle-aided
19
circuit C of size
p((log N )/α(N )) such that, for every i ∈ [N ], it holds that C
w
(i) equals the i
th
bit of x.
The encoding condition implies that is polynomially bounded. The decoding condition
refers to any -codeword that agrees with the oracle w :[(N )] → [q(N )] on an α(N )
fraction of the (N ) coordinates, where α(N ) may be very small. We highlight the non-
triviality of the decoding condition: There are N bits of information in x, while the circuit
C may “encode” only p((log N )/α(N )) bits of information about x. Thus, x is (implicitly)
recovered by C based mainly on a highly corrupted version of (x). Furthermore, each
desired bit of x is recovered (by C) by making at most p((log N )/α(N)) queries to this
corrupted version of (x). We mention that the foregoing decoding condition is related
to list decoding (as defined in Appendix E.1.1).
20
Let us now relate the transformation of f
n
to
ˆ
f
n
, which underlies Proposition 7.16,to
Definition 7.17. We view f
n
as a binary string of length N = 2
n
(representing the truth table
of f
n
: H
m
→{0, 1}) and analogously view
ˆ
f
n
: F
m
→F as an element of F
|F|
m
= F
N
3
(or
as a mapping from [N
3
]to[|F|]).
21
Recall that the transformation of f
n
to
ˆ
f
n
is efficient.
We mention that this transformation also supports implicit decoding with parameters
q,,α such that (N ) = N
3
, α(N ) = ε(n), and q(N ) = (n/ε(n))
3
, where N = 2
n
. The
latter fact is highly non-trivial, but establishing it is beyond the scope of the cur rent text
(and the interested reader is referred to [218]).
We mention that the transformation of f
n
to
ˆ
f
n
enjoys additional features, which
are not required in Definition 7.17 and will not be used in the current context. For ex-
ample, there are at most O(1/α(2
n
)
2
) codewords (i.e.,
ˆ
f
n
’s) that are (1 − α(2
n
))-close
to any fixed w :[(2
n
)] → [q(2
n
)], and the corresponding oracle-aided circuits can
19
Oracle-aided circuits are defined analogously to oracle Turing machines. Alternatively, we may consider here
oracle machines that take advice such that both the advice length and the machine’s r unning time are upper-bounded
by p((log N )/α(N )). The relevant oracles may be viewed either as blocks of binary strings that encode sequences over
[q(N )] or as sequences over [q(N )]. Indeed, in the latter case we consider non-binary oracles, which return elements
in [q(N )].
20
Recall that, on input w ∈ [q(N )]
(N )
, a list-decoding algorithm for : {0, 1}
N
→ [q(N )]
(N )
is required to
output the list L
w
containing every string x ∈{0, 1}
N
such that (x) agrees with w on α(N ) fraction of the locations.
Turning to the foregoing decoding condition (of Definition 7.17), note that it requires outputting (bits of) one specific
string x ∈ L
w
. This can be obtained by hard-wiring (in the list-decoding circuit) the index of x in L
w
, while taking
advantage of the fact that the circuit may depend on x and w. Note, however, that the circuit obtained in this way may
not satisfy the stringent decoding condition of Definition 7.17, which requires a circuit of p((log N )/α(N ))-size. On
the other hand, the decoding condition does not refer to the complexity of obtaining the aforementioned oracle-aided
circuits (and, in particular, may not yield a list-decoding algorithm).
21
Recall that N = 2
n
=|H|
m
and |F|=|H |
3
. Hence, |F |
m
= N
3
.
268