This is the Golay code. Each row in this picture shows a string of 24 bits. There are 12 rows. If you look at any two rows, you'll see they differ in at least 8 places.
Here's how to get the Golay code. Take a 12 x 12 square of bits with all 0's except for 1's down the diagonal - you can see that at left here. Take another 12 x 12 square of bits that tells you when two faces of a dodecahedron share an edge: 0 if they do, 1 if they don't. Stick these squares together and you get the Golay code!
Some guys around here keep asking if the math I talk about is good for anything. In this case it is!
The Voyager 1 and 2 spacecraft needed to transmit hundreds of color pictures of Jupiter and Saturn in their 1979, 1980, and 1981 fly-bys. They had very little bandwidth, so they needed a good error-correcting code. They used the Golay code!
The point is that we can use the rows of this picture as code words. If we take some rows and add them - adding each entry separately, mod 2 - we get more code words. We get a total of 2^12 = 4096 code words.
These code words have a cool property: it takes at least 8 errors to turn any code word into any other. So, we say the Hamming distance between any two code words is at least 8. In fact, the Golay code is the only code with 12-bit code words where the Hamming distance between any two is at least 8.
There's a whole theory of codes like this, and this is an especially good one. You can transmit 12 bits of data with 24 bits... but since the Hamming distance between code words is big, someone can understand what you meant even if there are lots of errors! So, the Golay code is useful for transmitting data in a noisy environment.
But the reason I like the Golay code is that it has a big and important symmetry group. Its symmetry group is called M24 - one of the amazing things called Mathieu groups. It has
24 x 23 x 22 x 21 x 20 x 48 = 244,823,040
elements. It's connected to many other symmetrical things in math: for example, it acts as symmetries of the Leech lattice, the densest way to pack balls in 24 dimensions.
To be more precise, this code here is called the extended binary Golay code. You can learn more about it here:
Puzzle: I said the symmetry group of this code is M24. But what do I mean, exactly, by a 'symmetry' of this code?
The extended binary Golay code is not only good for outer space. In 1993, the US government issued standards for high frequency radio systems. They require using this code for "forwards error correction" in "automatic link establishment"! See page 51 here:
(Don't post any spoilers, I haven't solved it myself yet. Brag about it if you have solved it though!)
"A skilled professional I know had to turn down an important freelance assignment because of a recurring commitment to chauffeur her son to a resumé-building “social action” assignment required by his high school. This involved driving the boy for 45 minutes to a community center, cooling her heels while he sorted used clothing for charity, and driving him back—forgoing income which, judiciously donated, could have fed, clothed, and inoculated an African village. The dubious “lessons” of this forced labor as an overqualified ragpicker are that children are entitled to treat their mothers’ time as worth nothing, that you can make the world a better place by destroying economic value, and that the moral worth of an action should be measured by the conspicuousness of the sacrifice rather than the gain to the beneficiary."
- Software Engineer, presentGoogle Brain
- Oregon State UniversityComputer Science
- Monument Valley
Mario games - Super Mario games - Super Mario Bros games
We choose the best Mario games, best Super Mario games and best Super Mario Bros games for you to play
United States & Canada Technical Internship opportunities - Google S...
Google Engineering internship opportunities are full-time positions and take place year-round. We accept students from multiple disciplines
Michael Trick’s Operations Research Blog : The Plight of the Traveling P...
Thoughts on the world of operations research
Domingos on what you should know about machine learning
Dhruv Batra forwarded this Communications of the ACM article by Pedro Domingos, entitled “A Few Useful Things to Know about Machine Learning