1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
|
\documentclass[10pt]{article}
\usepackage{fullpage}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amsfonts,amsthm}
\usepackage[english]{babel}
\usepackage[capitalize, noabbrev]{cleveref}
\usepackage{algorithm}
\usepackage{algpseudocode}
\newenvironment{enumerate*}%
{\vspace{-2ex} \begin{enumerate} %
\setlength{\itemsep}{-1ex} \setlength{\parsep}{0pt}}%
{\end{enumerate}}
\newenvironment{itemize*}%
{\vspace{-2ex} \begin{itemize} %
\setlength{\itemsep}{-1ex} \setlength{\parsep}{0pt}}%
{\end{itemize}}
\newenvironment{description*}%
{\vspace{-2ex} \begin{description} %
\setlength{\itemsep}{-1ex} \setlength{\parsep}{0pt}}%
{\end{description}}
\DeclareMathOperator{\E}{\mathbb{E}}
\DeclareMathOperator{\Enc}{\mathrm{Enc}}
\DeclareMathOperator{\Dec}{\mathrm{Dec}}
\let\P\relax
\DeclareMathOperator{\P}{\mathbb{P}}
\DeclareMathOperator*{\argmin}{\arg\min}
\newcommand{\ex}[1]{\E\left[#1\right]}
\newcommand{\prob}[1]{\P\left[#1\right]}
\newcommand{\inprod}[1]{\left\langle #1 \right\rangle}
\newcommand{\R}{\mathbf{R}}
\newcommand{\poly}{\text{poly}}
\newcommand{\N}{\mathbf{N}}
\newcommand{\C}{\mathcal{C}}
\newcommand{\eps}{\varepsilon}
\newcommand{\cl}[1]{\text{\textbf{#1}}}
\newcommand{\eqdef}{\mathbin{\stackrel{\rm def}{=}}}
\newcommand{\llbracket}{[\![}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\algrenewcommand\algorithmicensure{\textbf{Output:}}
\algrenewcommand\algorithmicrequire{\textbf{Input:}}
\author{Thibaut Horel}
\title{CS 225 Problem Set 4 -- Solutions}
\begin{document}
\maketitle
\section*{Problem 5.1} I use a simple counting argument. If $\mathcal{C}$ is
$(\delta, L)$ list-decodable, then for all $r\in \Sigma^{\hat{n}}$ we have
$|B(r,\delta)\cap \mathcal{C}|\leq L$. Hence:
\begin{displaymath}
\sum_{r\in \Sigma^{\hat{n}}} |B(r,\delta)\cap\mathcal{C}|\leq Lq^{\hat{n}}
\end{displaymath}
Furthermore, each code-word $c$ of $\mathcal{C}$ is counted several times in
the sum: once for each $r\in B(c,\delta)$. But $B(c,\delta)$ is of size
$q^{\hat{n}H_q(\delta, \hat{n})}$, so each $c\in\mathcal{C}$ appears
$q^{\hat{n}H_q(\delta, \hat{n})}$ times in the sum:
\begin{displaymath}
|\mathcal{C}|q^{\hat{n}H_q(\delta, \hat{n})}=
\sum_{r\in \Sigma^{\hat{n}}} |B(r,\delta)\cap\mathcal{C}|
\end{displaymath}
Putting the previous two equations together:
$ |\mathcal{C}|q^{\hat{n}H_q(\delta, \hat{n})} \leq Lq^{\hat{n}}$. Taking the
$\log$ both sides and reordering the terms (and using $\rho = \frac{\log
|\mathcal{C}|}{\hat{n}\log q}$) concludes the proof.
\section*{Problem 5.2}
\paragraph{1.} For two different messages $m_1$ and $m_2$, $\Enc_1(m_1)$ and
$\Enc_1(m_2)$ differ on at least $\delta_1 n_1$ letters by definition of the
minimum distance of $\Enc_1$. For each one of those $\delta_1 n_1$ positions
where the letters differ, the images by $\Enc_2$ of the letters at this
position differ on at least $\delta_2 n_2$ letters by definition of the
minimum distance of $\Enc_2$. By summing over all such positions, we obtain
$\delta_1n_1\delta_2n_2$ positions where $\Enc(m_1)$ and $\Enc(m_2)$ differ.
This proves that the minimum distance of $\Enc$ is at least $\delta_1\delta_2$.
\paragraph{2.} \emph{(Thanks Thomas for helping me late at night two days after
the homework was due!)} Let us consider a received word $r$, and a message $m$
such that $d(\Enc(m), r)\leq (1-\eps_1l_2)\delta_2$. We can view $r$ as the
concatenation of $n_1$ blocks, each of size $n_2$. Denoting by $r_i$ the $i$th
block, I first note that the fraction of $i$s such that $d(r_i,
\Enc_2(\Enc_1(m)_i)$ is at most $(1-\eps_1l_2)$. Otherwise, by summing over $i$
we would have $d(Enc(m), r)> (1-\eps_1l_2)\delta_2$, a contradiction.
Hence, by $l_2$ list-decoding each of the blocks $r_i$, we obtain $n_1$ lists
of $l_2$ characters from $\Sigma_1$, such the $i$s such that the $i$th list
does not contain $\Enc_1(m)_i$ are a fraction at most $(1-\eps_1l_2)$.
I now construct $l_2$ words $c_1,\dots, c_{l_2}$ such that $c_j$ is obtained by
taking the $j$th character in each of the $n_1$ lists of length $l_2$ obtained
by $l_2$ list-decoding in the previous paragraph.
I claim that one of those words $c_j$ is such that $d(c_j, Enc_1(m))\leq
1-\eps_1$. Otherwise, by summing over $j$, and denoting by $f$ the fraction of
$i$s such that the $i$th list does not contain $\Enc_1(m)_i$:
\begin{align*}
(1-\eps_1)l_2&< \sum_{j=1}^{l_2} d(c_j, Enc_1(m))
= \frac{1}{n_1}\sum_{i=1}^{n_1}\sum_{j=1}^{l_2} \left[(c_j)_i\neq
Enc_1(m)_i\right]\\
&= fl_2 + (1-f)(l_2-1) = l_2 - 1 + f\leq l_2-1+(1-\eps_1l_2)
= (1-\eps_1)l_2
\end{align*}
where the second equality was obtained by splitting the sum over $i$ depending
on whether or not $\Enc_1(m)_i$ belongs to the $i$th list, and the last
inequality was obtained by using the bound on $f$ found in the first paragraph
of this answer. Looking at the two extremal terms of the above computation, we
see a contradiction.
Hence, one of the $c_j$ is such that $d(c_j, Enc_1(m))\leq
1-\eps_1$. By $l_1$-decoding all the $c_j$s, we obtain $l_2l_1$ words in
$\{1,\dots, N\}$ such that one of them is $m$ (since $\Enc_1$ is $l_2$
list-decodable at distance $1-\eps_1$). This proves that $\Enc$ is $l_1l_2$
list-decodable at distance $(1-\eps_1\l_2)\delta_2$.
\paragraph{3.} We consider:
\begin{itemize}
\item $\Enc_1$: the Reed-Solomon code consisting of all polynomials of
degree $d = \frac{n}{m}-1$ over $\mathbb{F}_{2^m}$.
\item $\Enc_2$: the Hadamard code of all linear functions from
$\mathbb{F}_2^m$ to $\mathbb{F}_2$.
\end{itemize}
Since $\mathbb{F}_2^m$ can be identified with $\mathbb{F}_{2^m}$ these two
codes are compatible for concatenation. Both codes have block length $2^m$ so
the resulting block length after concatenation is $2^{2m}$. The bit length of
the code is $(d+1)m = n$ as requested.
If we choose $m$ large enough such that $\frac{n}{m2^m}\leq \eps$, then the
minimum distance of the RS code is $1-\frac{n/m-1}{2^m}\geq
1-\frac{n/m}{2^m}\geq 1-\eps$. Hence, by \textbf{1.}, the minimum distance of
the concatenated code is at least $\frac{1}{2}(1-\eps)$ as requested.
Finally, if $\frac{n}{m2^m}\leq \eps$, the block length of the concatenated
code, $2^{2m}$, is $O(\frac{n^2}{\eps^2})$ as requested.
Since $m = O(\log \frac{n}{\eps})$ and $m(d+1) = n$, it is clear that the code
is fully explicit.
\paragraph{} To get list-decoding, we need a different setting of $m$. We know
that the Hadamard code can be $\frac{1}{2}-\frac{\eps}{2}$ list-decoded for any
$\eps$ with list length $l_2 = \Theta(\frac{1}{\eps^2})$. If we set $m$ such
that:
\begin{displaymath}
2l_2\sqrt{\frac{n}{m2^m}} = \eps
\end{displaymath}
i.e $\frac{n}{m2^m} = \Theta(\eps^6)$, then applying \textbf{2.} the
concatenated code will have distance
$(1-\eps)(\frac{1}{2}-\frac{\eps}{2}) \geq (\frac{1}{2}
-\eps)$. The resulting list length will be $\sqrt{\frac{m2^m}{d}}l_2
=\Theta(\frac{1}{\eps^5})$.
The inner Hadamard code as $2^m = \Theta(\frac{n}{\eps^6})$ code-words, so the
list-decoding can be done in polynomial time by brute force testing all
code-words. Finally, since $m = \Theta(\log \frac{n}{\eps^6})$, The outer
RS code can be list-decoded in polynomial time using the algorithm seen in
class. Note that by \textbf{2.} we only need to apply this algorithm $l_2
= \Theta(\frac{1}{\eps^2})$ times, so the overall resulting running time is
still polynomial.
\section*{Problem 5.6}
\paragraph{1.} I follow the hint by allowing the bivariate polynomial $Q$ in
the proof of Theorem 5.19 to have as many monomials as possible. More
precisely, we allow all monomials of degree $(d_1, d_2)$ such that:
\begin{displaymath}
d_1 + d\cdot d_2\leq \lfloor\eps q\rfloor \eqdef D
\end{displaymath}
and we will be fine as long as the number of monomials is strictly larger than
$q$ (to make sure we can find such a $Q$). Hence, all we have to do is count
the number of pairs $(d_1,d_2)$ such that $d_1 + d\cdot d_2\leq \eps q$ and
make sure that it is strictly larger than $q$. We see
that $d_2$ can be at most $A\eqdef\lfloor D/d\rfloor$ (in which case
$d_1$ has to be zero). If $d_2 = A - k$ for $k\in\{0,\dots, A\}$, then $d_1$
can be as large as $D -kd$. Hence, the total number of monomials is:
\begin{displaymath}
N = \sum_{k=0}^A (D-kd + 1) = (D+1)(A+1) - \frac{d}{2} A(A+1)
= (A+1)\left(D+1-\frac{d}{2}A\right)
\end{displaymath}
For $\eps=\sqrt{2d/q}$, we have $A=\lfloor D/d\rfloor = \lfloor
\sqrt{2q/d}\rfloor$ and $D=\lfloor
\sqrt{2qd}\rfloor$. This leads to:
\begin{displaymath}
N > \sqrt{2q/d}\left(\sqrt{2qd} - \frac{d}{2}\sqrt{2q/d}\right) = q
\end{displaymath}
as desired.
\section*{Problem 5.7}
\paragraph{1.} Let us denote by $r\in\{0,1\}^{\hat{n}}$ the answers given by
the mean oracle trying to hide the secret from us. First observe that, denoting
by $[A]$ the Iverson bracket of event $A$ and $c_i = \Enc(s_i), i\in\{1,2\}$:
\begin{displaymath}
\hat{n}d(c_1, c_2) = \sum_{l=1}^{\hat{n}} [(c_1)_i\neq (c_2)_i]
= \sum_{i=1}^{\hat{n}}[(c_1)_i\neq r_i] + [(c_2)_i\neq r_i]
= \hat{n} d(c_1, r) + \hat{n}d(c_2, r)
\end{displaymath}
where the second equality follows from the fact that $r_i$ is either equal to
$(c_1)_i$ or $(c_2)_i$ when $(c_1)_i\neq (c_2)_i$. The other equalities simply
use the definition of the relative distance.
I claim that one of the two secrets $s\in\{s_1, s_2\}$ is such that the
relative distance $d(\Enc(s), r)\leq \frac{1}{4} + \eps$. Otherwise, using the
identity proven above:
\begin{displaymath}
d(c_1, c_2) = d(c_1, r) + d(c_2, r)> \frac{1}{2} + 2\eps
\end{displaymath}
This implies that $\Enc(s_1)$ and $\Enc(s_2)$ agree on less than a $\frac{1}{2}
- 2\eps$ fraction of positions and contradicts the assumption on $\Enc$.
Since one of the two secrets $s\in\{s_1,s_2\}$ is such that
$d(\Enc(s),r)\leq\frac{1}{4}+\eps$, by list-decoding the received answer $r$ at
distance $\frac{1}{4}+\eps$, we are guaranteed that the list $L$ of length $l$
returned by the decoder contains one of the two secrets. By assumption, the
decoding takes polynomial time.
\paragraph{2.}
\end{document}
|