{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lab 4 - Codes for Efficient Transmission of Data\n", "\n", "#### Authors:\n", "\n", "##### v1.0 (2014 Fall) Kangwook Lee \\*\\*, Kannan Ramchandran \\*\\*\n", "\n", "##### v1.1 (2015 Fall) Kabir Chandrasekher \\*, Max Kanwal \\*, Kangwook Lee \\*\\*, Kannan Ramchandran \\*\\*\n", "\n", "In last week's lab, we learned about source coding and then briefly touched upon the channel coding problem. We learned about the simplest and most intuitive code: repetition codes. This week you will explore implementing your own code for transmission of data! \n", "\n", "To see why efficient coding techniques are important, consider an erasure channel in which each packet sent gets dropped with some probability $p$. If we wanted to convey a message, we could consider a feedback channel in which the receiver tells the sender which messages were received and the sender re-sends the dropped packets. This process can be repeated until the receiver gets all of the intended message. While this procedure is indeed optimal in all senses of the word, feedback is simply not possible in many circumstances. What can we do in this situation?\n", "\n", "In this lab, we will be looking at a specific type of code that will apply your knowledge of random bipartite graphs (the balls and bins model)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction \n", "\n", "The coding scheme we will work with in this lab will be a type of erasure code. Under the binary erasure channel (BEC) model, bits that are sent through a noisy channel either make it through unmodified or are tagged as \"corrupt\", in which case the recieved information is dropped in all further information processing steps. \n", "
\n", "A code is considered optimal generally when all $n$ source symbols that need transmitting can be recovered from *any* $n$ encoded symbols. Think of it this way: You want to stream the new season of House of Cards from Netflix at midnight. But so do 1 million other people! Obviously the server loads are going to be high, so how can Netflix ensure that everyone watches without intermittent lags (which are frustrating and will lose them customers)? Well, one way is to increase the number of servers so that the load on any one server is decreased, but this costs a lot of money. Another important thing for them to consider is in the transmission process. When users are downloading the movie, Netflix servers don't want to have too much overhead to figure out which users need which bits of the video to get smooth playback. If they use near-optimal codes to encode and constantly send out the same random chunks of the video's data to all users, then they can be sure that users get what they need in only a little more than $n$ transmissions *no matter what parts of the show each individual user lost through their specific channel*!\n", "\n", "So what's the secret to this magic? It's a two step process of clever encoding and decoding:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Encoding\n", "1. For $n$ packets you want to transmit in total, pick $d$ such that $1\\leq d \\leq n$ according to some distribution.\n", "2. With $d$ picked, now select $d$ random packets of the $n$ and combine the bits together using the XOR operator.\n", "3. Transmit this combined packet, along with the metadata telling which actual packet indices were XOR'd.\n", "\n", "### Decoding\n", "1. Reconstruct the list of packet indices which were XOR'd (in our case these are just explicitly sent with the data)\n", "2. For each source packet, check if the packet is a singleton, in which case the encoded packet is exactly equal to the actual packet. If not, we can check if any of the packets that have been XOR'd are already known, in which case XOR that packet with the encoded packet and remove it from the list of packet indices that make up the encoded chunk.\n", "3. If there are two or more indices in the list for the encoded packet we cannot figure out any more information! Put it on the side for looking at later.\n", "4. With any newly decoded information, we may be able to decode previously undecodable packets that we had put on the side. Go through all unsolved packets and try to decode more packets until nothing more can be done.\n", "5. Wait for the next encoded packet to come and repeat!\n", "\n", "Now what's left for you to do? Well, remember that number $d$? It needs to be picked according to some distribution, and which distribution is the million dollar question!\n", "\n", "\n", "### Example\n", "
\n", "\n", "Consider the above bipartite graph. Here, $x_i$ represents the encoded incoming packet, $y_i$ represents the actual packet, and the edges represent the actual packets that make up each encoded packet. Consider each $x_i$ coming in chronologically:\n", "1. For incoming packets $x_1, x_2, x_3$ we will not be able to decode anything.\n", "2. As soon as $x_4$ comes, we see that it is a singleton. This means that $y_4$ can be fully recovered from $x_4$. \n", "3. Finally, when $x_5$ comes in, we can suddenly decode everything: $x_5$ is made up of $y_4$ and $y_5$, but we already know $y_4$, so we can then fully decode $y_5$. Similarly, we can then decode $y_3$, then $y_1$, and lastly $y_2$ (in that order specifically).\n", "\n", "As you might be able to tell, by choosing a good degree distribution for $d$, even when random incoming packets were lost (not shown), you were still able to recover all $5$ symbols only from $5$ received packets, despite the sender not knowning what packets you lost through the BEC." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Code" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1) Packet Class & Utility functions\n", "\n", "A packet consists of...\n", "\n", "#### ['chunk_indices', 'data' ]\n", "\n", "##### chunk_indices: Which packets are chosen\n", "\n", "##### data: The 'XOR'ed data (we will just add the bits in this lab for simplicity)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline \n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import json\n", "import random\n", "\n", "class Packet:\n", " size_of_packet = 256\n", " def __init__(self, chunks, chunk_indices):\n", " self.data = self.add(chunks)\n", " self.chunk_indices = chunk_indices\n", "\n", " def add(self, chunks):\n", " tmp = np.zeros(Packet.size_of_packet, 'uint8')\n", " for each_chunk in chunks:\n", " tmp += each_chunk\n", " return tmp\n", " \n", " def num_of_chunks(self):\n", " return len(self.chunk_indices)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2) Transmitter & Encoder Class\n", "\n", "You can initiate an encoder with a string! Then, generate_packet() will return a randomly encoded packet." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "class Transmitter:\n", " def __init__(self, chunks, channel, degree_distribution):\n", " self.chunks = chunks\n", " self.num_chunks = len(chunks)\n", " self.channel = channel\n", " self.degree_distribution = degree_distribution\n", " \n", " def generate_new_packet(self):\n", " if self.degree_distribution == 'single':\n", " #Always give a degree of 1\n", " n_of_chunks = 1\n", " elif self.degree_distribution == 'double':\n", " #Always give a degree of 2\n", " n_of_chunks = 2\n", " elif self.degree_distribution == 'mixed':\n", " #Give a degree of 1 half the time, 2 the other half\n", " if random.random() < 0.5:\n", " n_of_chunks = 1\n", " else:\n", " n_of_chunks = 2\n", " elif self.degree_distribution == 'baseline':\n", " \"\"\"\n", " Randomly assign a degree from between 1 and 5.\n", " If num_chunks < 5, randomly assign a degree from \n", " between 1 and num_chunks\n", " \"\"\"\n", " n_of_chunks = random.randint(1,min(5, self.num_chunks))\n", " chunk_indices = random.sample(range(self.num_chunks), n_of_chunks)\n", " chunks = [ self.chunks[x] for x in chunk_indices ]\n", " return Packet( chunks, chunk_indices )\n", " \n", " def transmit_one_packet(self):\n", " packet = self.generate_new_packet()\n", " self.channel.enqueue( packet )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3) Channel Class\n", "\n", "Channel class takes a packet and erase it with probability eps." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class Channel:\n", " def __init__(self, eps):\n", " self.eps = eps\n", " self.current_packet = None\n", " \n", " def enqueue(self, packet):\n", " if random.random() < eps:\n", " self.current_packet = None\n", " else:\n", " self.current_packet = packet\n", " \n", " def dequeue(self):\n", " return self.current_packet " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4) Receiver & Decoder Class\n", "\n", "You can initiate a decoder with the total number of chunks. Then, add_packet() will add a received packet to the decoder." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "class Receiver:\n", " def __init__(self, num_chunks, channel):\n", " self.num_chunks = num_chunks\n", " self.received_packets = []\n", " self.chunks = [ ]\n", " for i in range(self.num_chunks):\n", " self.chunks.append( np.zeros(Packet.size_of_packet, 'uint8') )\n", " self.found = [ False for x in range(self.num_chunks) ]\n", " self.channel = channel\n", " \n", " def receive_packet(self):\n", " packet = self.channel.dequeue()\n", " if not packet == None:\n", " self.received_packets.append( packet )\n", " if packet.num_of_chunks() == 1:\n", " self.peeling()\n", " \n", " def peeling(self):\n", " flag = True\n", " while flag:\n", " flag = False\n", " for each_packet in self.received_packets:\n", " if each_packet.num_of_chunks() == 1: # Found a singleton\n", " flag = True\n", " idx = each_packet.chunk_indices[0]\n", " break\n", " \n", " # First, declare the identified chunk\n", " if self.found[ idx ] == False:\n", " self.chunks[ idx ] = np.array(each_packet.data, 'uint8')\n", " self.found[ idx ] = True\n", " # Second, peel it off from others\n", " for each_packet in self.received_packets:\n", " if idx in each_packet.chunk_indices:\n", " each_packet.chunk_indices.remove( idx )\n", " each_packet.data -= self.chunks[ idx ]\n", " \n", " def isDone(self):\n", " return self.chunksDone() == self.num_chunks\n", "\n", " def chunksDone(self):\n", " return sum(self.found)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## $\\mathcal{Q}$uestion 1. Sending Lena\n", "### a. Break up the lena image (shown below) into $1024$ packets of size $256$ each." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nctrb2yvvceKbtmzZ0uv1ekvjdbyapmFubs50j1401NTUXGlpaflKPI/3xz/+8X9+61vf+s1TTz11\nNp7XgqZpcLvdg8FgMFM+92WOd90u5NKlS/+0f//+Bv6/vr7+5fr6+pfXczI/7TE4OOiWyqGkpKTH\n7/fbNW1lQ5aUlPRomoZXXnnlxMmTJ1/i+/bv399w+fLl3Y9q3IcOHTrT1NT05D/CeOfm5kw7d+78\n6Nq1a2XxOt7h4eHcffv2nb9w4cLeAwcOvBvva8Htdg+Oj49nyee+zPGuW1gxMjLi2rx58zD//2lF\nWfEgf29h2XrI0NCQu729vaqmpubP8TzeSCSir6ys7LDb7QGGRPE63h/84Ac/+dGPfnRcr9er6qx4\nHSvwcIoipaxbJ6h/1OSn/09h2cOW2dnZTc8888zvf/rTn/5HWlraTOx44mm8er0+0tHRUTk1NWXZ\nv3//uYsXL+6NHU88jPePf/zjAZvNdruqqqq9ubn5q582lngYK6W1tfVxh8PhGxsbs9bW1jZt3bq1\nJ3Y8f894181ziC3KGh4e3iw1WTzJ31tY9jBlcXHR+Mwzz/z+6NGjv2ZNSzyPl2KxWKa+8Y1vvPfJ\nJ59Ux+N4L1269NjZs2cPFhQUDD7//PO/vXDhwj8fPXr01/E4VsrDKIqMkvWKjxYXFw2FhYX9g4OD\n7nA4nBwvgKSm3Y85HD9+/DXGZ/X19S/HgjrhcDh5YGCgoLCwsD8SiejWa5yRSER39OjR//n+97//\nE/l8vI53bGwse2JiIl3TNMzPz2/Ys2fPB+fPn98Xr+Plo7m5+QliDvE61rm5OdP09HSapmmYnZ3d\n+Nhjj7WeO3eu7ssc77pO+p/+9Kevb9mypdfj8dx45ZVXTqz3TV/r8dxzz/3W4XCMGo3Ghdzc3OE3\n33zzX4LBYOa+ffvOFxcX99XW1jZygWuahh/+8If/7fF4bpSUlPQ0NDTsX8+xtrS0fEWn00UqKio6\nKisr2ysrK9vff//9r8XreDs7O3dUVVVdraio6NixY0fna6+9dlzTNMTrePlobm5+gmxFvI51YGCg\noKKioqOioqKjrKzsGvfTlzneRG1FQhKSkDUlkSGZkIQkZE1JKIeEJCQha0pCOSQkIQlZUxLKISEJ\nSciaklAOCUlIQtaUhHJISEISsqb8Hwy8hq/yWRa5AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy import misc\n", "import matplotlib.cm as cm\n", "plt.imshow(misc.lena(), cmap = cm.Greys_r)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "\n", "l = misc.lena()\n", "tt= l.reshape(1,512*512)[0]\n", "size_of_packet = 256 \n", "num_of_packets = 1024\n", "assert len(tt) == size_of_packet * num_of_packets\n", "\n", "# Your code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### b. Using the 'single' degree distribution defined in the Transmitter class, send Lena over a channel with erasure probability 0.2. How many packets did you need to send? Display the data you receive every $100$ packets in addition to the data you receive at the end.\n", "\n", "#### i. Plot the number of packets decoded as a function of the number of packets you receive. (The current_sent array should be helpful here)\n", "\n", "#### ii. Does this remind you of something you've seen before?\n", "\n", "You may find the following function useful:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def visualize( chunks ):\n", " plt.imshow(chunks, cmap = cm.Greys_r)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [], "source": [ "eps = 0.2\n", "ch = Channel(eps)\n", "tx = Transmitter( chunks, ch, 'single' )\n", "rx = Receiver( len(chunks), ch )\n", "\n", "ct = 0\n", "intermediate_data = []\n", "current_sent = []\n", "while not rx.isDone():\n", " tx.transmit_one_packet()\n", " rx.receive_packet()\n", " ct += 1\n", " if ct % 100 == 0: \n", " intermediate_data.append( np.array(rx.chunks, 'uint8').reshape(512,512) )\n", " current_sent.append(sum(rx.found))\n", "\n", "received_data = np.array(rx.chunks, 'uint8').reshape(512,512)\n", "print \"The number of packets received: {}\".format(ct)\n", "\n", "### Incrementally show the data received\n", "n_of_figures = int(ct/100)\n", "fig = plt.figure( figsize=(8, 3*n_of_figures) )\n", "\n", "for i in range(n_of_figures-1):\n", " fig.add_subplot(n_of_figures,1,i+1)\n", " visualize(intermediate_data[i])\n", "\n", "fig.add_subplot(n_of_figures,1,n_of_figures)\n", "visualize(received_data)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Your plotting code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### c. Using the 'double' degree distribution defined in the Transmitter class, send Lena over a channel with erasure probability 0.2. What happens?" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "eps = 0.2\n", "ch = Channel(eps)\n", "tx = Transmitter( chunks, ch, 'double' )\n", "rx = Receiver( len(chunks), ch )\n", "\n", "ct = 0\n", "while not rx.isDone():\n", " tx.transmit_one_packet()\n", " rx.receive_packet()\n", " ct += 1\n", "\n", "received_data = np.array(rx.chunks, 'uint8').reshape(512,512)\n", "print \"The number of packets received: {}\".format(ct)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### d. You have seen two degree distributions so far. Both of these have been deterministic, and one worked better than the other. Let's try one final degree distribution. Using the 'baseline' degree distribution, send Lena over a channel with erasure probability 0.2. Plot the number of packets decoded against the number of packets transmitted." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "eps = 0.2\n", "num_trials = 1\n", "ch = Channel(eps)\n", "tx_baseline = Transmitter( chunks, ch, 'baseline' )\n", "tx_soliton = Transmitter( chunks, ch, 'sd')\n", "baseline_packets, soliton_packets = [], []\n", "current_baseline, current_soliton = [], []\n", "\n", "for _ in xrange(num_trials):\n", " rx = Receiver( len(chunks), ch )\n", " ct = 0\n", " intermediate_data = []\n", " while not rx.isDone():\n", " tx_baseline.transmit_one_packet()\n", " rx.receive_packet()\n", " ct += 1\n", " if ct % 100 == 0: \n", " current_baseline.append(sum(rx.found))\n", " baseline_packets.append(ct)\n", "\n", "for _ in xrange(num_trials):\n", " rx = Receiver( len(chunks), ch )\n", " ct = 0\n", " intermediate_data = []\n", " while not rx.isDone():\n", " tx_soliton.transmit_one_packet()\n", " rx.receive_packet()\n", " ct += 1 \n", " current_soliton.append(sum(rx.found))\n", " soliton_packets.append(ct)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Plotting code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## $\\mathcal{C}$ompetition\n", "\n", "Alice and Bob have both just finished eating dinner, and with their EE 126 homework completed early for once, they plan to sit down for a movie night (they want to make use of the 30-day free trial of Netflix they just signed up for!). While Alice is surfing Netflix she decides she wants to stream Interstellar. Bob is not happy — he just saw that last weekend while he was secretly procrastinating on 126 homework. He wanted to watch Inception instead. As a result, Bob sat down with Alice, but pulled out his phone sneakily to stream Inception with subtitles on. Given the bad service in the area, Bob's phone drops packets with $p=30\\%$, while Alice's laptop only drops packets with $p=20\\%$. You, the Chief Technology Officer of Netflix, know that given the heavy workload of EE 126, this may be your only chance to convert these freeloading customers into permanent ones, but to do so you're going to have to make sure their viewing experience is perfect.\n", "\n", "#### Concrete specs:\n", "\n", "- You are given two erasure channels with drop probability $p=0.20$ and $p=0.30$.\n", "- You must define a degree distribution (which can vary as a function of the # of transmissions already sent) to minimize the number of total packets needed to be sent to Alice and Bob for them to decode their images. Run your code for 10 trials to get a good estimate of the true number of transmissions needed per image while they watch their movies. Each trial, your score is $\\frac{\\text{# of Transmissions to Alice + # of Transmissions to Bob}}{2}$.\n", "- **You may work in teams of up to three.**\n", "\n", "Good luck! \n", "\n", "*If you place in the top 3 in the class you will be awarded bonus points and full credit for the homework, as well as get to present your strategy to the entire course staff!* \n", "\n", "For the rest of you, the grading scheme will be as follows:\n", "$$\\text{Transmissions} \\Rightarrow \\text{Grade}$$\n", "$$[1,3500] \\Rightarrow A\\ (10)$$\n", "$$(3500, 4500] \\Rightarrow B\\ (8)$$\n", "$$(4500, 6000] \\Rightarrow C\\ (5)$$\n", "$$(6000, 10000] \\Rightarrow D\\ (2)$$\n", "$$(10,000,\\infty) \\Rightarrow F\\ (0)$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Your code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### $\\mathcal{R}$esults\n", "\n", "Report the average # of transmissions needed to give Alice and Bob the complete file (averaged over 10 trials):" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\text{Average Transmissions Needed: } \\boxed{}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### $\\mathcal{S}$ummary\n", "\n", "Answer the following in 1-2 paragraphs (this should be answered individually): \n", "- Who were your teammates?\n", "- What did you learn? \n", "- What is the basic inuition behind your final strategy? \n", "- How did your strategy evolve from your first attempt (what worked and what failed)?\n", "- How would your strategy change if the value of $p$ of the BEC was not known?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Your Response Here" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }