But what are Hamming codes? The origin of error correction

2020 ж. 3 Қыр.
2 340 251 Рет қаралды

A discovery-oriented introduction to error correction codes.
Part 2: • Hamming codes part 2: ...
Ben Eater:'s take: • What is error correcti...
Help fund future projects: / 3blue1brown
An equally valuable form of support is to simply share some of the videos.
Special thanks to these supporters: 3b1b.co/hamming-thanks
Heavily related is the chessboard puzzle I did with Matt Parker:
• The almost impossible ...
You can read Hamming's own perspective on his discovery of these codes in chapter 12 of "The Art of Doing Science and Engineering".
amzn.to/3lwcnmh
The viewer Harry Li made an interactive on this topic:
harryli0088.github.io/hamming...
Thanks to these viewers for their contributions to translations
Hebrew: Omer Tuchfeld
Hungarian: Fabó Bence
Spanish: agustin-j
------------------
These animations are largely made using manim, a scrappy open-source python library: github.com/3b1b/manim
If you want to check it out, I feel compelled to warn you that it's not the most well-documented tool, and it has many other quirks you might expect in a library someone wrote with only their own use in mind.
Music by Vincent Rubinetti.
Download the music on Bandcamp:
vincerubinetti.bandcamp.com/a...
Stream the music on Spotify:
open.spotify.com/album/1dVyjw...
------------------
3blue1brown is a channel about animating math, in all senses of the word animate. And you know the drill with KZhead, if you want to stay posted on new videos, subscribe: 3b1b.co/subscribe
Various social media links:
Website: www.3blue1brown.com
Twitter: / 3blue1brown
Reddit: / 3blue1brown
Instagram: / 3blue1brown_animations
Patreon: / 3blue1brown
Facebook: / 3blue1brown

Пікірлер
  • I notice a few people asking “what happens if a parity bit gets flipped?” If you understand the algorithm, you don’t have to ask, try it yourself! Set up a block, flip a parity bit, say bit 2, then walk through what the receiver does. What happens?

    @3blue1brown@3blue1brown3 жыл бұрын
    • 🤦‍♂️💖

      @rejurj@rejurj3 жыл бұрын
    • Plus you literally covered it in the video

      @IStMl@IStMl3 жыл бұрын
    • Once the parity bits are set, they're no longer special. What is important is that they left the board in a state where asking the parity checks will pinpoint exactly which row and column an error occurred.

      @bokwoon@bokwoon3 жыл бұрын
    • @Philosopher's Dream In the case of two errors, the method that gives you the accuracy to find a single bit breaks down. Imagine that there are two bits flipped in one set. Say, two bits flipped in column two. The row parity can find that there are two errors, but the column parity can't give any information on where the bit is, because as far as it can tell, parity still checks out. For more complicated cases, just get yourself a piece of paper and two coins (or any object, really). Draw out a 4x4 grid, and then place the two coins in two random spaces to represent errors. Try to determine the positions of the errors *purely* through the group-based parity checks. The only case I could find that allows both errors to be solved is when there's one in the top corner in the case that that's a parity bit. In every other case I tried, it's impossible to pin down the location.

      @erictheepic5019@erictheepic50193 жыл бұрын
    • The beauty here is that, by constructing the parity bits in this way, there is not a single parity bit that is located in the territory of another parity bit. So, flipping only a parity bit will cause that parity bit to be errored and all other parity bits not errored. By that, you know the errored parity bit is the errored bit.

      @chongchonghe3748@chongchonghe37483 жыл бұрын
  • I never thought about it until this video, but Sudoku is just human powered error correction.

    @Munden@Munden3 жыл бұрын
    • great r/showerthoughts material here

      @manspaghetti6351@manspaghetti63513 жыл бұрын
    • you are right

      @alfiangunawan5946@alfiangunawan59463 жыл бұрын
    • About halfway through the video, I made the connection to sudoku. I wonder if Hamming was inspired by sudoku.

      @tissuepaper9962@tissuepaper99623 жыл бұрын
    • You’re not ducking wrong m8

      @VoidSec3@VoidSec33 жыл бұрын
    • I love sudoku and computer sciencs. But i don't see to many similarities there. They are both on grids and got a simple ruleset that uses elimination processes. But that's all it's havin in common as far as i know.

      @xNothing2Lose@xNothing2Lose3 жыл бұрын
  • Electrical engineer here... We literally had a full lecture about this... A full 3 hour lecture and you absolutely made a great, rewatchable and perfectly adequate video on this subject. I applaud you and your educational skills.

    @bluemischief1582@bluemischief15823 жыл бұрын
    • 3B1B *always* has a great way of explaining things at an appropriate pace.

      @Freakschwimmer@Freakschwimmer3 жыл бұрын
    • I studied in same field, my teacher only mentioned it briefly during one lesson, I understood that simple parity check back then, but not the error correction... watching this just once got me perfectly on track and it is insanely simple, I really don't know how I didn't know this already really great video

      3 жыл бұрын
    • And it's only 20 minutes long!

      @FoxSlyme@FoxSlyme2 жыл бұрын
    • Yeah I think it took us about 2 hours to cover this subject along with the concept of error correction codes. This is incredibly concise, but I do have the benefit of hindsight. I wonder what newcomers to the field think

      @markhaus@markhaus2 жыл бұрын
    • Newcomer to error correction (other than the "send the message 3 times" scheme). Makes perfect sense and started to be able to get where the topic was going at the point when he mentioned the offset striations of "to what" the parity check refers. I have to say the paranoid person in me if still of the opinion "if you have one error, you probably have 20" so I guess I still find it amazing that scratched disks work. But I imagine that's addressed by some of the later algorithms for the same purpose. Doesn't change that this is an incredibly elegant explanation of an incredibly elegant solution to a common problem.

      @tobyjacobs1310@tobyjacobs13102 жыл бұрын
  • I promised myself that I would pause the video and return several times until I could understand, and I did, beautiful.

    @moonaddict@moonaddict3 жыл бұрын
    • Nice! I'm tryna do the same rn haha

      @kalleousvoncheez@kalleousvoncheez9 ай бұрын
  • When he removed the 0th bit, I thought to myself: "Wait why don't we use it to parity check the whole thing?". I was so excited to see that's what happened next lol

    @obi-wankenobi8237@obi-wankenobi82373 жыл бұрын
  • Man, you got me doing a math exercise at 11 pm on a Friday because I wanted to. If that's not great teaching then I don't know what is.

    @lucasuieda8274@lucasuieda82743 жыл бұрын
    • I know the moment he said try it out for your self I was on my bed in a super comfortable position but the try it yourself made me get up and do it

      @baroncandy3939@baroncandy39393 жыл бұрын
    • @@baroncandy3939 imagine sitting in the office, at your desk, with an endless excel sheet... And then you grab some paper and ... Error check.... Whilst giggling about Tom the cat replacing pi 😁😄 Julia Programming Language - check it out! You PI surprised :)

      @AlexandruJalea@AlexandruJalea3 жыл бұрын
    • @@AlexandruJalea will check it out thanks

      @baroncandy3939@baroncandy39393 жыл бұрын
    • Just done it. 11pm, Saturday night. I had to download a paint app on my phone to not get out of bed. This is getting wild.

      @cocolasticot9027@cocolasticot90273 жыл бұрын
    • seeing this exactly ona saturday friday at 11 pm

      @yeyez3149@yeyez31493 жыл бұрын
  • 5:32 "Storing a data is same as sending a message just from the past to the future"....i never really thought from this perspective...cool

    @balajiannamalai5902@balajiannamalai59023 жыл бұрын
    • Balaji Annamali - That was said about writing a very long time ago. The ability to write down ideas changed the world. Your post is an example of both writing to the future, and possibly what is in this video.

      @technowey@technowey3 жыл бұрын
    • 17 minutes in the future has received your message.

      @GibusWearingMann@GibusWearingMann3 жыл бұрын
    • @@GibusWearingMann But we can't be 100% certain it's the exact same message.

      @SirReberal@SirReberal3 жыл бұрын
    • @@SirReberal I'm seeing an (edited) on my copy, as a matter of fact.

      @GibusWearingMann@GibusWearingMann3 жыл бұрын
    • Tenet

      @nortio5@nortio53 жыл бұрын
  • I must tell you, as a fresh cs graduate, I wish I've had teachers like you in the university, you explained something so clearly in 20 min, what would take a whole lecture of a lazy professor, and still wouldn't be clear to understand. I hope people are appreciate the priceless content that you share with us!

    @GTX4747@GTX47473 жыл бұрын
    • there is something to be said for KZhead University

      @kingmasterlord@kingmasterlord2 жыл бұрын
    • To be a little fair to professors, he did this all pre recorded with much time to prepare the video since he doesn’t need 2/3 lectures for each week of the semester

      @gianni50725@gianni507252 жыл бұрын
    • Don't call the prof lazy, call Grant (3Blue1Brown) gifted.

      @djmips@djmips2 жыл бұрын
    • Yeah, it’s really difficult to make quality educational material. Grant’s lucky enough to focus on educating in a video format full time. If you have to run a whole course in person, plan problem sets, run a research group, and have office hours, it just becomes a lot harder to focus on making salable content. Grant probably asks for lots of feedback on his videos before posting. I emphasize with the professors, but appreciate Grant filling the gap.

      @michaeletzkorn@michaeletzkorn2 жыл бұрын
    • @@gianni50725 the professors have an entire semester to teach the students. 3b1b can teach you those same concepts within a week give or take. If that isn't incompetence, idk what is.

      @macchiato_1881@macchiato_18812 жыл бұрын
  • The receiver when see the parity equals 1: "That's ODD"

    @ALIPIANIST@ALIPIANIST3 жыл бұрын
    • Lol!

      @revenevan11@revenevan113 жыл бұрын
    • I can't even

      @vigilantcosmicpenguin8721@vigilantcosmicpenguin87213 жыл бұрын
    • My thoughts exactly.

      @unfa00@unfa003 жыл бұрын
    • @@vigilantcosmicpenguin8721 Lol

      @flyinglack@flyinglack3 жыл бұрын
    • @@vigilantcosmicpenguin8721 HAHAHAHA

      @milanstevic8424@milanstevic84242 жыл бұрын
  • The emotions Hamming must have felt at discovering such an elegant solution to data correction are probably similar to the "Aha!" moments physicists feel. Or perhaps it was relief after working with brute force options starting out. Either way, great video!

    @chrisxd146@chrisxd1463 жыл бұрын
    • Naah, I think for Hamming it was a full blown "OH GOD IM COOMING!!!!!!!! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" moment

      @i_dont_want_a_handle@i_dont_want_a_handle2 жыл бұрын
    • @Sam u good bro?

      @SreenikethanI@SreenikethanI2 жыл бұрын
    • @@i_dont_want_a_handle that first moment you learn an inkling of programming for the first time and do something that would have taken hours, in the blink of an eye

      @Runeite51@Runeite5110 ай бұрын
    • ​@@i_dont_want_a_handleambatukam 😩

      @cyangaeming@cyangaeming10 ай бұрын
  • I often point to this specific video as a big catalyst that got me to return to school and study computer science. I'm in my second semester and we're writing a hamming code decoder in assembly, so I had a great reason to revisit it. And I gotta say, the elegance of hamming codes is a lot more evident with your visualizations than it is from lecture. Which is understandable! My professor's job is a little different from yours, but it did make me appreciate how useful your videos are in gaining a big picture perspective.

    @mitchamaya@mitchamaya2 жыл бұрын
    • For one thing, they didn't think to display the code as a square, so the powers of 2 pattern doesn't emerge visually. We're just looking at it as a string of bits all in a line

      @mitchamaya@mitchamaya2 жыл бұрын
    • How's the program going?

      @NoriMori1992@NoriMori19929 ай бұрын
    • @@NoriMori1992 You have great timing - I'm interning at a fortune 100 company and yesterday my manager said they're going to extend a full time offer! Nothing's official until I sign but the future's never looked so bright. I'm graduating this fall since I already had two years of credits. Going back to school was easily the single best decision I ever made. It's a DevOps role if you're curious

      @mitchamaya@mitchamaya9 ай бұрын
    • @@mitchamaya That's awesome! Congratulations! I wish you all the best!

      @NoriMori1992@NoriMori19929 ай бұрын
  • @5:34 “After all, storing data is the same thing as sending a message, just from the past to the future, instead of from one place to another.” That's … a pretty darn beautiful way of putting it! [steals for future use]

    @inshadowz@inshadowz3 жыл бұрын
  • I think I’ve said “oh, that’s so smart” like 10 times to myself in this video

    @J0R1AN@J0R1AN3 жыл бұрын
    • By extension, it made me feel like I'm smart for understanding it.

      @vigilantcosmicpenguin8721@vigilantcosmicpenguin87213 жыл бұрын
    • huh i ve said it 11 times loser

      @svenjaaunes2507@svenjaaunes25073 жыл бұрын
    • When I started connecting dots man, that's what it's all about.

      @gurekamdhillon6460@gurekamdhillon64603 жыл бұрын
    • 😂 same 😊

      @dmeemd7787@dmeemd77873 жыл бұрын
    • That's the sign of a good teacher!

      @camerondrew9402@camerondrew94023 жыл бұрын
  • It's kinda crazy how large the audience for this stuff is. He's talking about Hamming Codes and Binary Data storage and the video already has +20k views just hours from its posting.

    @IslandRai@IslandRai3 жыл бұрын
    • It's not that crazy. These are well made videos, and very pretty to watch, they deserve the views.

      @carlacvekla1444@carlacvekla14443 жыл бұрын
    • People here watch because they are interested in such stuff, there is no surprise at all that this gets a ton of views

      @crateer@crateer3 жыл бұрын
    • Thats because the audience for 3blue1brown is that large. Because this dude communicates well and knows how to explain an idea. Many people and teachers fail to catch someone's interest or get a good idea across because they fumble with the language, tone, and pacing. They could be very smart people but not great teachers because of a weaker linguistic ability. The ability to do what he's doing, is a sign of serious intelligence. To know how to break something advanced down and communicate to hold interest and convey understanding. Grant has really strong logic and reasoning intelligence, and an incredible linguistic ability. Thus people who might never be into this, because its never been presented in the right way, are all of a sudden learning great new concepts because of Grants work here.

      @spawn142001@spawn1420013 жыл бұрын
    • Damn straight

      @eyeojo@eyeojo3 жыл бұрын
    • is becacuse his explanations are flawless he is the best in youtube using animations for explaning complex concepts

      @roncho@roncho3 жыл бұрын
  • I remember being completely puzzled with this when I was in college. They attempted to teach this during an early class. It went completely over my head then. I’ve appreciated your teaching style for years. I’ve watched most of your videos. This takes the cake. Absolutely stunning what a good approach and visuals can do for learning.

    @pwnerzach2pwnu@pwnerzach2pwnu3 жыл бұрын
    • Our college is giving this to us for a project without any prior info so i feel this pain

      @yumi-zc9bb@yumi-zc9bb6 ай бұрын
    • ive had a similar sort of feeling with some chem/bio stuff, during school id struggle to make sense of these big systems.. like i could memorize but didn't necessarily understand.. until years later either reading or watching vids something would click and the pattern was clear :o

      @babynautilus@babynautilus5 ай бұрын
  • "Why did you send an email stating you hate me?" "I didn't! It was noise distorting bits, creating an incorrect message!"

    @PokeMaster22222@PokeMaster222223 жыл бұрын
  • After spending the last 2 days studying shor’s code I’m quite impressed by this timing

    @WillParry00@WillParry003 жыл бұрын
    • Woah... shor's code?? Are they anyhow related to quantum??

      @qqq1234x@qqq1234x3 жыл бұрын
    • Nat Nat yes,quite a bit different, but since I haven’t studied the classical one this is really useful to have an idea

      @WillParry00@WillParry003 жыл бұрын
    • after the chessboard puzzle video, this video had to happen

      @tommihommi1@tommihommi13 жыл бұрын
    • @@WillParry00 Haaha, "a bit different" . Good reply in a binary code correction film.

      @scoutjonas@scoutjonas3 жыл бұрын
    • This week I have due an assignment of Hamming codes, the timing was perfect...

      @pllagunos@pllagunos3 жыл бұрын
  • Watching the “Impossible Chessboard Puzzle” videos was a great episode 0 of this series

    @evansaschow@evansaschow3 жыл бұрын
    • Yes, having watched that video made me see where this was going very fast. Still very entertaining and educational to see a more fleshed out explanation though.

      @oliviapg@oliviapg3 жыл бұрын
    • You beat me to it; I was thinking the same thing.

      @Coyotek4@Coyotek43 жыл бұрын
    • exactly bro

      @sharanphadke4954@sharanphadke49543 жыл бұрын
    • I watched that a few weeks ago too

      @runguardian6868@runguardian68683 жыл бұрын
  • I'm in my final year of a CS program, and my online program means that I'm teaching myself an Operating Systems course with a mediocre book and no instructor involvement. I'm blessed to have found this video! While the book tells me what the right answer is, it doesn't demonstrate HOW to think about and work through this encoding process. I didn't understand the purpose of where the parity bits were stored until this video. I did exactly what you said; I paused to actually work it out by myself, which gave me such satisfaction when I got the right answer after your 20 mins of instruction. Eternally grateful! ❤

    @hgjghjkhify@hgjghjkhify Жыл бұрын
  • Every time that I watch some video from 3Blue1Brown, I notice how marvelous this channel is! It isn't about the animations only and how's incredibly well explained, it's about this type of information spread all over the world, free, with such profound analysis. This is easily one of the best channels of KZhead, at least for me.

    @arthurvictorgama3952@arthurvictorgama39523 жыл бұрын
  • I learned this in college 10 years ago and the teacher had us MEMORIZE specific hamming codes for 5 bits, and explaining it by showing a way to enumerate all 32 possibilities, changing 1 bit at a time, and showing that every 4 in this list were the numbers 0-7. It was a terrible experience.. for thousands of dollars. I don't understand how it wasn't taught like this. Hopefully future professors teach their kids more like you.

    @RobotProctor@RobotProctor3 жыл бұрын
  • As someone who has received intense formal education in physics but felt shorted by the lack of "raw theory" I saw in the few computer science courses I had, I absolutely love how you presented this. "How does error correction actually work?" has been a question that has sat on the back burner in my mind for ~5 years, and now I have a satisfying answer. Would love to see videos on the more modern methods!

    @Christian-nr9wh@Christian-nr9wh3 жыл бұрын
  • Your videos prompt not just rediscovery, but also further research and that's what makes them so enjoyable.

    @CraigPendlebury@CraigPendlebury3 жыл бұрын
  • I'm taking Probability and Statistics of Random Signals right now. This video is so interesting on it's own, but it's even cooler to see many of these concepts come to life in your videos. Albeit you are a _way_ better teacher than my professor at my university. It's fascinating to see these explained so well.

    @MrCheese1745@MrCheese17453 жыл бұрын
  • Instructions unclear: Scratched CD's of my parents wedding, now searching for a new home

    @mgostIH@mgostIH3 жыл бұрын
    • Instructions unclear: Scratched a blank CD. Now after running it on my PC, it has taken over it and is made my PC into part of Illuminati's HQ.

      @SC-zq6cu@SC-zq6cu3 жыл бұрын
    • @@SC-zq6cu TELL US THEIR SECRETS BETRAY THEM AND FEEL THE POWER.

      @59vibhusharma31@59vibhusharma313 жыл бұрын
    • S C call Alex Jones

      @MS-il3ht@MS-il3ht3 жыл бұрын
    • Instructions unclear: Scratched a blank CD, now contains Beethoven's 10th symphony, complete with subtitles for the hearing impaired.

      @inshadowz@inshadowz3 жыл бұрын
    • @@inshadowz Ah, I see. Maybe we should talk on how you broke the 2nd law of thermodynamics, k? ;-)

      @MS-il3ht@MS-il3ht3 жыл бұрын
  • This is something that I studied during my Information theory course ( I study telecommunications) and enjoyed it very. I am very happy to see it presented at such a elegant way and in adequate details, almost rivaling the level of quality at which it wast taught to me (and that is saying a lot).

    @MatejKostoski123@MatejKostoski1233 жыл бұрын
    • When I was taught this i had no idea what was going on for the several weeks it was being covered. This 20 minute video actually clarified what took weeks to try to understand.

      @christophersmith1424@christophersmith14243 жыл бұрын
    • @@christophersmith1424 that is very unfortunate. My professor really wanted us to clearly understand. During the introduction of this subject he made a lot of analogies with everyday items and products that have some built in redundancy in order to work, and that sort of thing really helped me. He also gave many examples about where different encoding schemes are implemented.

      @MatejKostoski123@MatejKostoski1233 жыл бұрын
    • May I ask: How much information theory is in your degree? (As I am interested in this discipline too...)

      @MS-il3ht@MS-il3ht3 жыл бұрын
    • When I took information theory, we talked a lot about hamming, huffman, arithmetic codes. Hamming codes are so cool and pretty simple to implement. Did you use Cover and Thomas?

      @simonlocke5869@simonlocke58693 жыл бұрын
    • @@MS-il3ht Humming, Huffman codes, convolutional codes, trellis coding, statistical coding, and as a very similar discipline, two digital communication courses.

      @MatejKostoski123@MatejKostoski1233 жыл бұрын
  • It really feels at times that the difference between what makes content hard or easy is not the content itself but rather the person teaching. Thank you. You just clearly and elegantly explained what my lecturer could not in 2 hours of verbal diarrhea.

    @elderartifactresearchlab@elderartifactresearchlab3 жыл бұрын
  • Needed this about 30 years ago when everyone was saying copying CDs degraded the music quality.

    @woobilicious.@woobilicious.3 жыл бұрын
    • Yeah... There's still gold plated HDMI cables though. You know, for that extra crisp binary code :')

      @stalincat2457@stalincat24572 жыл бұрын
  • Hamming codes and Huffman codes some one of my favorite things. The two simplest ways of adding and reducing redundancy.

    @abramthiessen8749@abramthiessen87493 жыл бұрын
    • Yep! You remove the uncontrollable redundancy, and add back in redundancy that works for you :)

      @JeffMTX@JeffMTX3 жыл бұрын
  • 12:24 Grant tells to pause and ponder, *Also Grant: proceeds to slyly animate over each cell and their respective combination of parity cells

    @Karan-um4bw@Karan-um4bw3 жыл бұрын
    • good catch

      @aka5@aka53 жыл бұрын
  • Loved this video! Your educational skills are phenomenal! Usually I just consume youtube vids, but by challenging me to work the examples (and I got them right) created such a buzz! Well done! Looking forward to part 2!

    @benoize@benoize3 жыл бұрын
  • The first three or so times you told me to try it myself I was like "noo i'm lazy" but the last time, error-checking the message I hadn't memorized, for some reason I did try it, and it was great - somehow I actually did it right. This teaching style is awesome.

    @mosesturner4018@mosesturner40183 жыл бұрын
  • the excitement I felt when I paused the video, figured out which bit was wrong and I was right 😄

    @gamingmonts9737@gamingmonts97373 жыл бұрын
    • it felt like some sort of find the error soduko, however you spell it i really like sodukos

      @derpinator4912@derpinator49123 жыл бұрын
  • Grant Sir, I got 780 in SAT math exam just because of you. Thanks ! I know you might be wondering that you never taught SAT maths but you developed a craving, an appetite for maths in my heart ❤ Once again thanks sir !

    @akshitsharma187@akshitsharma1873 жыл бұрын
    • Congratulations! I'm quite sure I deserve approximately 0% of the credit, and that it's all in your hard work, but I appreciate the kind words.

      @3blue1brown@3blue1brown3 жыл бұрын
    • What about JEE bro

      @Aman-br1ph@Aman-br1ph3 жыл бұрын
    • How did you give SAT in India?

      @qqq1234x@qqq1234x3 жыл бұрын
    • @@qqq1234x college board is conducting sat in India !

      @akshitsharma187@akshitsharma1873 жыл бұрын
    • @@3blue1brown Sir it's your nobality you are not taking any credits but as a matter of fact I hated maths 2 years back. However, after seeing the way you approach this subject, just proved to be a turning point in my academic career. And wish you a very happy teachers day !

      @akshitsharma187@akshitsharma1873 жыл бұрын
  • Thank you very much! I did the exercise at the end of video, and finally, after more than 20 years as system analyst, I understand Hamming codes. I don't have words to express how thankful I am. Really thanks!

    @leonardosouzaconradodesant6213@leonardosouzaconradodesant62132 жыл бұрын
  • I didn't think this would be fascinating, but it absolutely was! Very well explained, and I appreciated how there were breaks in it to allow me to figure out the material on my own once I had a grasp of it. I nailed that final example!

    @joshuan.@joshuan.2 жыл бұрын
  • Wow, how I enjoyed these last two videos on Hamming codes! Just started studying Software Engineering, and I am eating all this stuff right up! Would love to se more on this subject. Your videos on Integrals and vectors also helped me a lot prepping for my math exams! So thanks a lot, and keep it up!

    @hann992@hann9923 жыл бұрын
  • Making them grids instead of one long line makes this fsr easier to grasp

    @billowen3285@billowen32853 жыл бұрын
    • Visuals are too useful for maths intuition. I feel kinda bad for blind mathematicians tbh.

      @mrpedrobraga@mrpedrobraga3 жыл бұрын
  • The way you explained the Hamming code, guess if my professor would have done that, I wouldn't have to watch KZhead 2 years later. Thank you so much for this.

    @eobardthawne6903@eobardthawne69033 жыл бұрын
  • I found your short on Hamming codings alluring enough to watch through the two parter long form content you had plus some of Bens video.

    @tr1e@tr1e4 ай бұрын
  • Excited for part 2! This kind of thing is really fascinating to me.

    @NStripleseven@NStripleseven3 жыл бұрын
  • Is insane how good you explain things. This is the ultimate way of explaining things. A piece of art work

    @karlosfy@karlosfy3 жыл бұрын
  • For my final capstone course of my undergraduate degree in math, I wrote a paper and did a presentation to the class on basically the contents of this video. It took me a long time to wrap my head around what was meant by a lot of the explanations until I finally had an intuitive understanding of what an error correcting code was, and since I thought I understood it twice before I reached the actual understanding, I wrote and polished the whole paper and presentation 3 times, twice based on a misunderstanding of fundamental concepts. This video would have saved me so much time, since I could have started with an intuition for what it is and how it works and then went into the details and proofs I needed for the assignment.

    @TheGrooseIsLoose@TheGrooseIsLoose2 жыл бұрын
  • I just want to comment on how intuitive your visuals are. You are a blessing.

    @andrelin4345@andrelin43453 жыл бұрын
  • You can intuitively see how this works when you think about the information required to describe the error. Given a block of 15 bits, there are exactly 16 possible ways to describe a single bit of error (plus no error). That requires 2^4 possible states, which is 4 bits. So it makes perfect sense that 4 bits can account for the error in a block of 15, and this pattern extends to any arbitrary power of 2.

    @AntiCitizenX@AntiCitizenX3 жыл бұрын
  • 3b1b AND beneater on hamming codes at the same time!?! Is this heaven?

    @canaDavid1@canaDavid13 жыл бұрын
  • I am an avid geocacher and recently, one of my friends (fellow Geocacher) had his birthday. As a present, I placed a geocache for him and made the riddle exactly this. A 16x16 block with the task of spotting the error. He really liked it. And I have to thank you for that. Thank you for such a great and clear video. A video that enabled me to make a cool geocaching mystery cache out of it.

    @gameplayer3050@gameplayer3050 Жыл бұрын
  • This video was my first introduction to Information Theory and Error Encoding, and it immediately made it one of my favorite topics of all time! Now I am taking a course on that subject, and I have you to thank for the fact that I am looking forward to the subject so much at a low point in my life.

    @userhandle-l@userhandle-l4 ай бұрын
  • I work in the field of information theory and communication. This is one of the simplest, most easy to follow explanations I have seen! Excellent job, as always. P.S. I did the examples, it felt like a puzzle! How fun!

    @skyhoffert@skyhoffert3 жыл бұрын
  • After I solved the "impossible chess puzzle" from a couple videos ago, I was blown away by how we can extract so much information in just one bit. Super cool to see that exact puzzle being represented in a real-world application!

    @ethanwest3393@ethanwest33933 жыл бұрын
  • Why am I blown away by brilliant solutions to simple challenges more than profound solutions to complex problems?

    @DanielBrownsan@DanielBrownsan2 жыл бұрын
  • It's great seeing that you're leaning more heavily into the "pause and _really_ figure out for yourself"-method! I saw your interview with Lex and it looked like you got a bit frustrated at yourself for not emphasizing enough what you think is the most important part of learning math; namely actually doing the work yourself. I really like this, please keep it up! :D

    @MalcolmAkner@MalcolmAkner3 жыл бұрын
  • Never felt so satisfied over a KZhead video as I was when I solved the problem at 18:48 correctly

    @joshtherussian9261@joshtherussian92613 жыл бұрын
    • It's the best feeling.

      @vigilantcosmicpenguin8721@vigilantcosmicpenguin87213 жыл бұрын
  • Great video as always! This whole "parity check" algorithm reminds me of my favourite puzzle about 1000 barrels of wine. I'll write it here if someone wants to try solving it: You are a wealthy king of a prosperous, medieval, absolute monarchy. Your daughter is getting married in 11 days (in the morning on the 12-th day from today). Understandably, to celebrate the occasion you organise a lavish wedding party. The main highlight of the planned event is 1000 kegs of the finest wine from overseas that you ordered. They arrived yesterday and you have been bragging about it to everyone who would listen. Unfortunately, your spies inform you that your enemies secretly added poison to one of the kegs. The poison is so potent, that but a drop can easily kill a man. However, to avoid suspicion, the substance was chosen carefully. It doesn't kill instantly - you die after a week (on the 8-th day), showing no symptoms until then. Obviously you need to find and get rid of the poisoned keg before the wedding. Moreover, you absolutely can't waste more than 1 keg. You are certainly wealthy enough to afford a whole new batch, but it would certainly not arrive on time. Additionally, if more than 1 keg is missing, someone might notice - it would be a major hit to your prestige, position and rule - after all, as a ruller, perception is everything. Fortunately, 10 criminals are being held in your dungeon for different crimes pending trial before you. Being a king you can do whatever you want with them - pardon them, kill them or... make them taste the wine. Your task is simple - you need to find the poisoned keg before the wedding day, but how? =========================================================================================== TL;DR - 1000 kegs, 1 poisoned. The poison kills on the 8-th day after ingestion. You have 10 prisoners you can force the wine upon. You need to find the poisoned keg in 11 days. FAQ: -> A poisoned person dies on the 8-th day but NOT TO THE MINUTE. It could be after 7d + 1h or 7d+14h, you don't know. -> There is no way to distinguish the poisoned wine from the normal wine. They smell, look, behave exactly the same. -> You have only 11 days "to work with" - you can't f.ex. check the state of prisoners on the 12-th day, the mystery must solved by then. -> There is no antidote for the poison. -> The answer is an algorithm to solve the problem. It's not something along the lines of "I ask the mage, and he divines it" or "I cancel the party" -> From what I hear there is more than one way to solve it, however I only arrived at a single solution And I have a small request - if you want to write your solution in the comment, please don't spoil the fun for others, write it on the 5-th line so that it's not visible before one clicks "MORE". Thank you!

    @AntoniGawlikowski@AntoniGawlikowski3 жыл бұрын
    • Does "you absolutely can't waste more than 1 keg" include the poisoned keg?

      @sgbench@sgbench3 жыл бұрын
    • @@sgbench No, of course not - you HAVE TO get rid of that one, but no more than that.

      @AntoniGawlikowski@AntoniGawlikowski3 жыл бұрын
    • @@AntoniGawlikowski So you can't remove even a single mouthful of wine from any of the other kegs?

      @sgbench@sgbench3 жыл бұрын
    • @@sgbench No, sorry, maybe I misunderstood your question. You can, and in fact must, take some small amounts from all the kegs and feed it to the criminals. What is forbidden, is to throw away 2 or 100 of them because you can't narrow it down further. In other words you need to narrow it down the precisely to the one keg containing poison. You can't discard more than 1 in its entirety at the end. As an example as a first step you try feeding every prisoner one drop from 100 barrels. One of them will die, so you know that the poisoned barrel was among the ones this guys tasted. But you can't get rid of all of them - you need to somehow narrow it down until you know for sure which one it is and you can discard ONLY that one.

      @AntoniGawlikowski@AntoniGawlikowski3 жыл бұрын
    • @@AntoniGawlikowski Okay cool, that's what I thought. I'm pretty sure I know one possible solution then.

      @sgbench@sgbench3 жыл бұрын
  • I remember watching this video a year ago and understanding nothing, now I watched it again and actually understood it! Truly amazing.

    @Agent9@Agent92 жыл бұрын
  • The game "Bitburner" had a coding challenge about this built in, and then recommended your video in the explanation! I've been a longtime fan of your channel, but I'm learning javascript through that game and was very happy to see your channel mentioned 😁

    @revenevan11@revenevan11 Жыл бұрын
  • I learned about this literally less than 2 years ago and I completely forgot how this works.

    @Philipp-ym4pc@Philipp-ym4pc3 жыл бұрын
    • Me too maan... Hope I don't forget it again

      @akshayjayakumar7082@akshayjayakumar70823 жыл бұрын
    • Because you didn't do exercise or wrote code to experiment.

      @luckylove72@luckylove723 жыл бұрын
    • Story of my life

      @jasonihegworo1370@jasonihegworo13703 жыл бұрын
    • Brains need better error-correction code!

      @HansLemurson@HansLemurson3 жыл бұрын
    • it's really elegant as a coding solution. Once it clicked, I immediately realized how powerful and simple this would be to code. Hint: bitwise comparisons

      @jpsalis@jpsalis3 жыл бұрын
  • The collab I never knew I wanted

    @RKaidan@RKaidan3 жыл бұрын
    • What collab ? 🤨

      @That_One_Guy...@That_One_Guy...3 жыл бұрын
  • Having had Hamming Code "thrown" at me in my CS curriculum, it wasn't until later that I discovered the beauty and the magic of it. Now when I teach it to students, including those who are "afraid" of math, it's simple function awes them and turns them on to all sorts of algorithms. Thanks for the video.

    @stischer47@stischer473 жыл бұрын
  • This is so cool! I'd always heard of parity checks, but never had an understanding of why they work. Thanks for this video!

    @BroudbrunMusicMerge@BroudbrunMusicMerge2 жыл бұрын
  • GOD! Always hoped that Grant would someday talk about communication engineering related stuff. Brilliant as usual.

    @oussamalaouadi8521@oussamalaouadi85213 жыл бұрын
  • Sir, you really are a once in a generation teacher. Hats off to such a beautiful explanation. it can't be any better. Absolutely brilliant.

    @adityayadav6712@adityayadav67125 ай бұрын
  • Oh my goodness thank you for posting !! I thought I had imagined your channel and couldn’t find it but remembered subscribing. Can’t wait to catch up on content!

    @NeverDoubtTheWorm@NeverDoubtTheWorm3 жыл бұрын
  • We don't deserve this knowledge condensed to such a simple form. Thank you so much

    @Tharmin.124@Tharmin.124 Жыл бұрын
  • The work that Grant puts into the animations/visuals for these videos is mind-blowing. Having a seemingly-simple style, that flies under the radar, is an art in and of itself!

    @dhess34@dhess343 жыл бұрын
  • Einstein famously said, "Everything should be made as simple as possible, but no simpler." And I think that 3blue1brown's videos embody that better than anyone online.

    @jasonavina8135@jasonavina81352 жыл бұрын
  • I taught this stuff as part of data communications course in the 80s. Your rows and columns method is an excellent graphical explanation of what's going on and the second video does a great job of explaining how easy it is to figure out which bit is in error. My explanation involved assigning the data bits a sequence number from 0 to 15. Parity bit 1 covered all bits with the 1 bit set in their sequence number (1,3,5,7,9,11,13,15). Parity bit 2 covers all bits with a 2 bit in their sequence number (2,3,6,7,10,11,14,15). Parity bit 4 covered all bits with a 4 bit set in their sequence number (4,5,6,7,12,13,14,15). Parity bit 8 covers all bits with an 8 bit set in their sequence number (8,9,10,11,12,13,14,15). This essentially created a parity check for each column of the bit sequence number and provides an easy way to determine which bit had fipped. If a single bit error occured, to figure out which bit was in error, you simply added up the values of the parity bits that were wrong and it told you exactly which bit needed to be fixed. Lets say bit 12 had flipped. That would mean the parity calculations associated with parity bits 4 and 8 would be wrong... meaning fix bit 12 (4+8). An error in bit 3 would mean that parity bits 1 and 2 would be wrong indicating bit 3 (1+2) should be fixed.

    @kevinmcnamee6006@kevinmcnamee60066 ай бұрын
  • So what I’m hearing @8:00 is that we have no guarantee that we’re watching the video that you meant us to see!

    @backwashjoe7864@backwashjoe7864 Жыл бұрын
  • I loved the try it yourself part. Please do more of those!

    @jpalacios117@jpalacios1173 жыл бұрын
    • me too !

      @remivannier9931@remivannier99313 жыл бұрын
  • I used Hamming code in a wireless protocol I created for my final year project. It blew my mind.

    @ChristieNel@ChristieNel3 жыл бұрын
  • Very very nicely done. Smooth, clear, thorough, and with perfect pauses. EECE Sophomore student, here.

    @michaelleeson7072@michaelleeson7072 Жыл бұрын
  • honestly this video is just so damn cool. It's such an interesting topic and seeing the connections throughout the video and figuring it all out before it was fully explained was a real satisfying feeling. When I realized the combined readout of all 4 bits was the binary version of the error bit's number as well... amazing.

    @bananatassium7009@bananatassium70092 жыл бұрын
  • What does the near future of this channel look like? I miss the differential equation series but I’m always satisfied by new videos of course! Adore your work

    @MaxxTosh@MaxxTosh3 жыл бұрын
  • This reminds me a lot of the quick sort algorithm. Divide and conquer to subdivide everything into smaller parts.

    @edwardboron5776@edwardboron57763 жыл бұрын
    • It also has an element of Sudoku, it seems; the numbers get filled in based on the logic of the others. I could actually see people enjoying figuring out puzzles based on Hamming codes.

      @youtubersingingmoments4402@youtubersingingmoments44023 жыл бұрын
    • @@youtubersingingmoments4402 that's probably how mathematicians are created...

      @edwardboron5776@edwardboron57763 жыл бұрын
    • You're completely correct that this divide-and-conquer idea shows up all over the place in computer science. It's a principle worth remembering.

      @3blue1brown@3blue1brown3 жыл бұрын
  • I had trouble back when I learned about Hamming code. The lecturer told us, how Hamming code corrects error messages. But he didn't tell us, why it worked. This video makes it all makes sense now... Thanks!

    @rosyidharyadi7871@rosyidharyadi78713 жыл бұрын
  • This feels like doing those logic puzzles where you deduce who sits where at a table or who killed who, only in this case we use the hamming code to create the hints. I quite enjoyed this video, thanks for your effort in making this accessible.

    @connort7015@connort70153 жыл бұрын
  • oh my goodness new 3B1b video! I love learning through your incredibly detailed visuals, calm voice and pleasant background music.

    @Zeratul1005@Zeratul10053 жыл бұрын
  • ' _storing a data is sending a message from the past to the future_ ' Professor hulk : *TiMe TrAvEl*

    @kavinbharathi@kavinbharathi3 жыл бұрын
    • The real trick would be to go the other way.

      @kenlogsdon7095@kenlogsdon70953 жыл бұрын
  • I learned about Hamming Code about 16 years ago in a Data Compression graduate lesson,and this video reminds me of everything!Thanks!

    @echolee601@echolee6013 жыл бұрын
  • Usually with your videos, I needed to rewatch a few times to fully grasp it. This time however, I got both the sender and receiver examples correct when I did it myself after just one watch of the lesson that built up to it. This shows how effective this teaching style is and I love it (And how smart I am for getting them right lol)

    @cumradej@cumradej4 ай бұрын
  • Where was this video 3 years ago, when I took my telecommunications exam :D. But anyway, I find this is one of the coolest parts of math, because it is so utterly useful, yet still most people don't know about it.

    @leog.467@leog.4673 жыл бұрын
    • lol, ive just started a project i must present in April, about error correcting code. So i have to say it pleases me that i was born the right year so 3b1b can give me an introduction to the subjet !

      @romaing.1510@romaing.15103 жыл бұрын
  • "After all, storing data is the same thing as sending a message, just from the past to the future instead of from one place to another."

    @PianoMastR64@PianoMastR643 жыл бұрын
    • I noticed this concept in 1989 when I needed to update a disk driver and read in the disk drive manual how it used FSK (frequency shift keying) to write to the disk. I thought "hey, the disk is just a communication channel!" PHREAKY and I have always used that concept since then

      @JeffMTX@JeffMTX3 жыл бұрын
    • @@JeffMTX what is really messed up is that the whole physics revolves around a single photon sending a single message. we just happen to live within that singular transmission while also being composed of it.

      @milanstevic8424@milanstevic84242 жыл бұрын
  • I would definitely say yes to more Error Correction Code videos , and a huge thanks for all the great work

    @zomi892@zomi8923 жыл бұрын
  • Coming from an Electronics and Communications background this is a whole lot better and a visual way of representing Hamming Codes. Way better than what the books we use can explain. Thinking about it in blocks and chunks instead of just a string on 1's and 0's make much more sense to me. Looking forward to part 2 where we get to XOR bits, I think.

    @r0f3do@r0f3do3 жыл бұрын
  • *That is a bloody creative title*

    @thetheoreticalminimum2287@thetheoreticalminimum22873 жыл бұрын
  • I can definetly see how this relates to the evil chesspuzzle video

    @lazergurka-smerlin6561@lazergurka-smerlin65613 жыл бұрын
  • I just started working for a HDD company, came across error correction codes and finally a fine quality video on it

    @thecqf@thecqf3 жыл бұрын
  • This is the best explanation of Hamming code I have ever seen. Thanks so much for this!

    @rdhunkins@rdhunkins3 жыл бұрын
  • Two of my favorite KZheadrs upload at the same time AND they are collaborating. This is phenomenal.

    @kairostimeYT@kairostimeYT3 жыл бұрын
  • This guy tells the answers to the questions you never even know you have.

    @kartik.chauhan@kartik.chauhan3 жыл бұрын
  • How nice, I kinda wanted a refresher on hamming codes but didn’t want to go back to my numerical analysis text books but I did find your short, which is obviously much more entertaining:)

    @Lagrange00@Lagrange0010 ай бұрын
  • Your videos are son intuitive and well thought out 👍 Every time a pleasure to watch them

    @lucass.4365@lucass.436510 ай бұрын
  • About 3/4 through, and this is screaming that there's some relation here to discrete Fourier transforms. The sampling of data at frequencies of powers of two just really reminds me of the stages of an FFT.

    @PaulSteMarie@PaulSteMarie3 жыл бұрын
  • Kudos for mentioning Ben Eater's videos. His series on how to build a computer with a breadboard and the 6502 manual are an absolute gift to humanity.

    @joeemenaker@joeemenaker3 жыл бұрын
  • this is on another level, the effort going into these videos are insane and the result turned out so elegantly!

    @JannisAdmek@JannisAdmek3 жыл бұрын
    • FEEL FREE TO MESSAGE ONE OF MY MOST TRUSTED TRADER MARK THOMAS TO MAKE GREAT PROFITS IN CRYPTO +..1...3...0...9.....2.. .4...8....4.....4....7....2... His strategies are top notch 100% risk free...

      @brandonbeavisinvestment5294@brandonbeavisinvestment52943 жыл бұрын
  • I just have to comment once.. man you do the best videos about complicated stuff that any human being could do... much respect from Germany and thank you for helping me in university ❤️

    @TechLicious21@TechLicious212 жыл бұрын
  • Same time as Ben Eater. Coincidence I think not. Keep up the great work!

    @spectre1231@spectre12313 жыл бұрын
    • Ahh also a ben eater fan? I notice they have very similar voice and chill videos.

      @omniyambot9876@omniyambot98763 жыл бұрын
  • You good sir have played an important role for me and my education.

    @AWESOMEEVERYDAY101@AWESOMEEVERYDAY1013 жыл бұрын
  • Really impressed by the way you represent. Keep up the good work

    @vishnuvardhan0099@vishnuvardhan00993 жыл бұрын
  • As thoughtful as these explanations are, the graphics are astonishingly helpful.

    @skotski@skotski7 ай бұрын
KZhead