\documentclass[11pt]{article}
\usepackage{fullpage}
\usepackage{amsfonts}
\newcommand{\F}{\mathbb{F}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\np}{\mathop{\rm NP}}
\newcommand{\binom}[2]{{#1 \choose #2}}
\newcommand{\Z}{{\mathbb Z}}
\newcommand{\vol}{\mathop{\rm Vol}}
\newcommand{\poly}{\mathop{\rm poly}}
\newcommand{\mspan}{\mathop{\rm span}}
\newcommand{\conp}{\mathop{\rm co-NP}}
\newcommand{\atisp}{\mathop{\rm ATISP}}
\renewcommand{\vec}[1]{{\mathbf #1}}
%\input{dansmacs}
\begin{document}
\noindent {\large Essential Coding Theory \hfill
Madhu Sudan\\[-.1in]
CS 229r - Spring 2017 \hfill \mbox{}\\[-.1in]
Due: Wednesday, March 8, 2017\hfill \mbox{}\\[.4in]}
{\LARGE \centering Problem Set 3 \\[.4in] \par}
\section*{Instructions: As usual}
\iffalse{
\begin{description}
\item[Collaboration:] Collaboration is allowed and encouraged, but you must write everything up by yourselves. You must list all your collaborators.
\item[References:]
Consulting references is OK. However,
in general, try not to run to reference material to answer
questions. Try to think about the problem to see if you can
solve it without consulting {\em any} external sources. If this fails,
you may look up any reference material.
Cite all references (in addition to listing all collaborators).
Explain why you needed to consult any of the references,
if you did consult any.
\item[``Not to be turned in'' Problems]. If a problem is marked ``not to be
turned in'', you don't have to. But you must include a statement saying you know
how to solve the problem. If you are unsure, write up your solution and turn it
in. These problems won't count for your grades, but are good review exercises.
\item[Submission:] Submit your solutions on Canvas. If you do not have a canvas
account, or are not taking this course for credit, but want to submit solutions
to the psets anyway, please contact me (madhu) right away and I'll try to find a
solution for you.
\end{description}
}\fi
\begin{verbatim}
\end{verbatim}
\section*{Problems}
\begin{enumerate}
\item {\sf (Duality)}
\begin{enumerate}
\item Prove that the dual of a Reed-Muller code with parameters $m$ (number of
variables), $q$ (Field size), and $r$ (degree of polynomials) is a Reed-Muller
code. What is the degree parameter of the dual?
\item A linear code is said to an MDS (Maximum distance seperable) code if it is
an $[n,k,n-k+1]_q$ code. Prove that the dual of an MDS code is an MDS code.
\end{enumerate}
\item {\bf (Need not be turned in.)} {\sf (Abstract decoding: Filling in details)}.
Fill in the details of the abstract decoding algorithm using error-locating
pairs. Specifically:
\begin{enumerate}
\item Specify the conditions under which codes $\mathcal{E}$ and
$\mathcal{W}$ form a $t$-error-locating pair for code $\mathcal{C}$.
\item Describe the decoding algorithm.
\item Prove that it corrects every pattern of up to $t$ errors.
\item How many errors + erasures can you correct?
\end{enumerate}
\item {\sf (AG codes and decoding).}
Say that a collection of vectors $v_0,\ldots,v_{n-1} \in \F_q^n$ form an
algebraic
space of genus $g$ if for every $i$, ${C_i} =
\mspan\{v_0,\ldots,v_{i-1}\}$ is a code of distance $\geq n-i+1$ and dimension
$\geq i-g$, and for every $i,j$ it is the case that $v_i * v_i \in
{C_{i+j}}$. The codes ${C_i}$ are referred to as the algebraic
geometry (AG) codes over this space.
Show that for every $i$, the AG code ${C_i}$ is decodable in polynomial time from $(n-i)/2 -
O(g)$ errors.
\item {\sf (Concatenation and Capacity.)} In this problem we will show that
achieving the capacity with arbitrarily small error probability leads to
achieving capacity with exponentially small error probability without losing much
in algorithmic efficiency.
Fix $p \in (0,1/2)$ and
{\em suppose} the following is true:
For every $\epsilon > 0$ there is a code $C_\epsilon$ of block length
poly$(1/\epsilon)$
of rate $1 - H(p) - \epsilon$ such that
encoding and decoding with this code take time poly$(1/\epsilon)$ and this code can recover from the BSC$(p)$ channel (the one that flips bits independently with probability $p$)
with failure probability at most $\epsilon$. (So probability that the decoding of
a corrupted encoding of a random message does not equal the message is at most
$\epsilon$).
Then prove that for every $\epsilon > 0$ there is a $\delta >0$ such that for every
$n$ there is a code $C_{n,\epsilon}$ of block length $n$, rate $1 - H(p) -
\epsilon$ that can be encoded and decoded in time poly$(n/\epsilon)$ such that
this code recovers from BSC$(p)$ with failure probability at most $2^{-\delta
n}$.
\end{enumerate}
\end{document}