Download - Coding Theory - University at Buffalo
![Page 1: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/1.jpg)
Coding Theory
CSE 445/545
January 28, 2019
![Page 3: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/3.jpg)
Handouts for today
SyllabusLinked from the course webpage
Feedback pollsUp on piazza
![Page 4: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/4.jpg)
Plug for feedback polls
Completing the form is voluntary & anonymous
Purpose of the formFor me to get an idea of your technical background
![Page 5: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/5.jpg)
One Stop Shop for the course
https://cse.buffalo.edu/faculty/atri/courses/coding-theory/webpage/spr19/
![Page 6: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/6.jpg)
Syllabus
![Page 7: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/7.jpg)
Schedule
![Page 8: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/8.jpg)
Autolab
![Page 9: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/9.jpg)
Piazza
![Page 10: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/10.jpg)
Piazza for discussion
Please use your UB email ID to sign up
![Page 11: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/11.jpg)
Feedback polls already up
![Page 12: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/12.jpg)
Questions/Comments?
If something doesn’t work (e.g. you cannot post a comment), let me know
![Page 13: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/13.jpg)
References
Draft of a book I’m writingWith Guruswami+Sudan
Standard coding theory textsMacWilliams and Sloanevan LintBlahutHandbook of coding theory
![Page 14: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/14.jpg)
Pre-requisites
No formal pre-requisites for 545/ CSE 331 for 445Probably no one will have all the pre-req�s
Mathematical maturityComfortable with proofsWilling to pick up basics of new areas
Will spend one lecture on the pre-req’sLinear AlgebraFinite FieldsProbabilityAlgorithms/ Asymptotic Analysis
Go slower in the first half of the course
![Page 15: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/15.jpg)
Grades and such like
![Page 16: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/16.jpg)
Mini Project
Groups of size <= 3
Create a Youtube video related to coding theory
Bunch of other details in syllabus
![Page 17: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/17.jpg)
Deadlines
![Page 18: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/18.jpg)
Proof-reading
Proof-read relevant part of the book3-4 during the course
Depends on the class strengthSubmit typos, suggestions for improvementThey are due in by noon before next lectureNotes will be graded on timeliness & qualityWill ask for a volunteerSee syllabus for more details
![Page 19: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/19.jpg)
Questions/Comments?
Check out the syllabus for more details
![Page 20: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/20.jpg)
Homework
3 short ones (545)/ 2 short ones (445)Collaboration generally allowed
Work in groups of size at most 3Write up your own solutionsAcknowledge your collaboratorsNo source other than book and your notesBreaking these rules will be considered as cheating
More details when they are handed out
![Page 21: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/21.jpg)
My homework philosophy for 545
NOT to make sure you understand what I teach in the lecturesHomework problems either
Proofs that were not done in the class; orMaterial that is not covered in the class
Closely related to something that is
![Page 22: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/22.jpg)
Questions/Comments?
Check out the syllabus for more details
![Page 23: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/23.jpg)
Some comments
Decide on a Video topic earlyDifferent topics might need different prep. workCome talk to me
Homeworks might take timeDo not wait for the last moment
![Page 24: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/24.jpg)
Academic DishonestyAll your submissions must be your own workPenalty:
Minimum: An grade reduction in coursePossible: F (or higher penalty) if warranted
YOUR responsibility to know what is cheating, plagiarism etc.
If not sure, come talk to meExcuses like “I have a job,” “This was OK earlier/in my
country,” “This course is hard,” etc. WON�T WORKI DO NOT HAVE ANY PATIENCE WITH ANY CHEATING :YOU WILL GET A GRADE REDUCTION IN THE COURSE FOR YOUR FIRST MISTAKE
![Page 25: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/25.jpg)
If grades are all you care about
You’ll be fine ifYou do your assignments honestlyMake a reasonable attempt at them
![Page 26: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/26.jpg)
Questions/Comments?
Check out the syllabus for more details
![Page 27: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/27.jpg)
Let the fun begin!
![Page 28: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/28.jpg)
Coding theory
http://catalyst.washington.edu/
![Page 29: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/29.jpg)
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!
![Page 30: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/30.jpg)
Why did the example work?
English has in built redundancyCan tolerate “errors”
![Page 31: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/31.jpg)
The setupC(x)
x
y = C(x)+error
x Give up
n Mapping Cq Error-correcting code or just codeq Encoding: x ® C(x)q Decoding: y ® xq C(x) is a codeword
![Page 32: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/32.jpg)
Communication
InternetChecksum used in multiple layers of TCP/IP stack
Cell phonesSatellite broadcast
TVDeep space telecommunications
Mars Rover
![Page 33: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/33.jpg)
Codes and 5G
![Page 34: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/34.jpg)
“Unusual” applications
Data StorageCDs and DVDsRAIDECC memory
Paper bar codesUPS (MaxiCode)
Codes are all around us
![Page 35: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/35.jpg)
Other applications of codes
Outside communication/storage domainTons of applications in theory
Complexity TheoryCryptographyAlgorithms
Coding theory is a good tool to have in
your arsenal
![Page 36: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/36.jpg)
The birth of coding theory
Claude E. Shannon“A Mathematical Theory of Communication”1948Gave birth to Information theory
Richard W. Hamming“Error Detecting and Error Correcting Codes”1950
EE 634 (this semester!)
![Page 37: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/37.jpg)
Structure of the course
Part I: CombinatoricsWhat can and cannot be done with codes
Part II: AlgorithmsHow to use codes efficiently
Part III: ApplicationsApplications in (theoretical) Computer Science
![Page 38: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/38.jpg)
Redundancy vs. Error-correction
Repetition code: Repeat every bit say 100 timesGood error correcting propertiesToo much redundancy
Parity code: Add a parity bitMinimum amount of redundancyBad error correcting properties
Two errors go completely undetected
Neither of these codes are satisfactory
38
1 1 1 0 0 1
1 0 0 0 0 1
![Page 39: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/39.jpg)
Two main challenges in coding theory
Problem with parity exampleMessages 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 decodingNaive algorithm: check received word with all codewords
39
![Page 40: Coding Theory - University at Buffalo](https://reader031.vdocuments.us/reader031/viewer/2022012505/618018201040ba21d60f05ce/html5/thumbnails/40.jpg)
The fundamental tradeoff
Correct as many errors as possible with as little redundancy as possible
40
Can one achieve the “optimal” tradeoff with efficient encoding and decoding ?