1 / 38

Error Correcting Codes: Combinatorics, Algorithms and Applications

Error Correcting Codes: Combinatorics, Algorithms and Applications. CSE 545 January 14, 2013. Let ’ s do some introductions. Atri Rudra 319 Davis Hall atri@buffalo.edu 645-2464 Office hours: By Appointment. Handouts for today. Syllabus Linked from the blog Feedback form

odina
Download Presentation

Error Correcting Codes: Combinatorics, Algorithms and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Error Correcting Codes: Combinatorics, Algorithms and Applications CSE 545 January 14, 2013

  2. Let’s do some introductions • Atri Rudra • 319 Davis Hall • atri@buffalo.edu • 645-2464 • Office hours: By Appointment

  3. Handouts for today • Syllabus • Linked from the blog • Feedback form • Link on the blog

  4. Plug for feedback forms • Completing the form is voluntary & anonymous • Purpose of the form • For me to get an idea of your technical background • You can complete it later

  5. Course blog (codingtheory.wordpress.com) • Used for announcements • YOU are responsible for checking the blog for updates

  6. One Stop Shop for the course • Easy access • Easier to link to URLs and displaying math

  7. What will appear on the blog? • An entry for each lecture/homework • Comments section to ask questions or post comments • A post on some interesting side story/comment

  8. Other stuff on the blog

  9. Piazza for discussion Please use your UB email ID to sign up

  10. Questions/Comments? • If something doesn’t work (e.g. you cannot post a comment), let me know

  11. References • Draft of a book I’m writing • With Guruswami+Sudan • Standard coding theory texts • MacWilliams and Sloane • van Lint • Blahut • Handbook of coding theory

  12. Pre-requisites • No formal pre-requisites • Probably no one will have all the pre-req’s • Mathematical maturity • Comfortable with proofs • Willing to pick up basics of new areas • Will spend one lecture on the pre-req’s • Linear Algebra • Finite Fields • Probability • Algorithms/ Asymptotic Analysis Go slower in the first half of the course

  13. Grades and such like • Proof-reading • 20% • Homeworks • 45-35% • Updating Wikipedia • 35-45%

  14. Updating Wikipedia • You need a choose a coding theory topic • Either the entry is not present or the entry is “bare-bones”

  15. More details • Deadlines • March 20: Let me know your choice • March 27: Submit one page “report” on what you intend to do • More deadlines/details in the syllabus • To be done in group • Group size to be determined next week

  16. In-house wiki • You get to play on an in-house Wiki • You will need some LaTeX knowledge

  17. Proof-reading • Proof-read relevant part of the book • 3-4 during the course • Depends on the class strength • Email me typos, suggestions for improvement • They are due in by noon before next lecture • Notes will be graded on timeliness & quality • Will ask for a volunteer • See syllabus for more details

  18. Questions/Comments? • Check out the syllabus for more details

  19. Homework • 3 short ones • Collaboration generally allowed • Work in groups of size at most 3 • Write up your own solutions • Acknowledge your collaborators • No source other than lecture notes • Breaking these rules will be considered as cheating • More details when they are handed out

  20. My homework philosophy for 545 • NOT to make sure you understand what I teach in the lectures • Homework problems either • Proofs that were not done in the class; or • Material that is not covered in the class • Closely related to something that is

  21. Questions/Comments? • Check out the syllabus for more details

  22. Some comments • Decide on a Wikipedia topic early • Different topics might need different prep. work • Come talk to me • Homeworks might take time • Do not wait for the last moment

  23. Academic Dishonesty • All your submissions must be your own work • Penalty: • Minimum: zero credit on the particular assignment • Highly likely: An F grade • Possible: F“due to academic dishonesty” on your transcript • YOUR responsibility to know what is cheating, plagarism etc. • If not sure, come talk to me • Excuses like “I have a job,”“This was OK earlier/in my country,” etc. WON’T WORK

  24. If grades are all you care about • You’ll be fine if • You do your assignments honestly • Make a reasonable attempt at them

  25. Questions/Comments? • Check out the syllabus for more details

  26. Let the fun begin!

  27. Coding theory http://catalyst.washington.edu/

  28. What does this say? • W*lcome to the cl*ss. I h*pe you w*ll h*ve as mu*h f*n as I wi*l hav* t*ach*ng it! • Welcome to the class. I hope you will have as much fun as I will have teaching it!

  29. Why did the example work? • English has in built redundancy • Can tolerate “errors”

  30. The setup C(x) x y = C(x)+error • Mapping C • Error-correcting code or just code • Encoding: xC(x) • Decoding: yx • C(x) is a codeword x Give up

  31. Communication • Internet • Checksum used in multiple layers of TCP/IP stack • Cell phones • Satellite broadcast • TV • Deep space telecommunications • Mars Rover

  32. “Unusual” applications • Data Storage • CDs and DVDs • RAID • ECC memory • Paper bar codes • UPS (MaxiCode) Codes are all around us

  33. Other applications of codes • Outside communication/storage domain • Tons of applications in theory • Complexity Theory • Cryptography • Algorithms Coding theory is a good tool to have in your arsenal

  34. The birth of coding theory • Claude E. Shannon • “A Mathematical Theory of Communication” • 1948 • Gave birth to Information theory • Richard W. Hamming • “Error Detecting and Error Correcting Codes” • 1950

  35. Structure of the course • Part I: Combinatorics • What can and cannot be done with codes • Part II: Algorithms • How to use codes efficiently • Part III: Applications • Applications in (theoretical) Computer Science

  36. 1 1 1 0 0 1 0 0 0 0 1 1 Redundancy vs. Error-correction • Repetition code: Repeat every bit say 100 times • Good error correcting properties • Too much redundancy • Parity code: Add a parity bit • Minimum amount of redundancy • Bad error correcting properties • Two errors go completely undetected • Neither of these codes are satisfactory

  37. Two main challenges in coding theory • Problem with parity example • Messages mapped to codewords which do not differ in many places • Need to pick a lot of codewords that differ a lot from each other • Efficient decoding • Naive algorithm: check received word with all codewords

  38. The fundamental tradeoff • Correct as many errors as possible with as little redundancy as possible Can one achieve the “optimal” tradeoff with efficient encoding and decoding ?

More Related