coding theory - university at buffalo

40
Coding Theory CSE 445/545 January 28, 2019

Upload: others

Post on 01-Nov-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coding Theory - University at Buffalo

Coding Theory

CSE 445/545

January 28, 2019

Page 2: Coding Theory - University at Buffalo

Let’s do some introductions

Atri Rudra

319 Davis [email protected] Office hours: Tue, 2-2:45pm

Page 3: Coding Theory - University at Buffalo

Handouts for today

SyllabusLinked from the course webpage

Feedback pollsUp on piazza

Page 4: Coding Theory - University at Buffalo

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

One Stop Shop for the course

https://cse.buffalo.edu/faculty/atri/courses/coding-theory/webpage/spr19/

Page 6: Coding Theory - University at Buffalo

Syllabus

Page 7: Coding Theory - University at Buffalo

Schedule

Page 8: Coding Theory - University at Buffalo

Autolab

Page 9: Coding Theory - University at Buffalo

Piazza

Page 10: Coding Theory - University at Buffalo

Piazza for discussion

Please use your UB email ID to sign up

Page 11: Coding Theory - University at Buffalo

Feedback polls already up

Page 12: Coding Theory - University at Buffalo

Questions/Comments?

If something doesn’t work (e.g. you cannot post a comment), let me know

Page 13: Coding Theory - University at Buffalo

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

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

Grades and such like

Page 16: Coding Theory - University at Buffalo

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

Deadlines

Page 18: Coding Theory - University at Buffalo

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

Questions/Comments?

Check out the syllabus for more details

Page 20: Coding Theory - University at Buffalo

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

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

Questions/Comments?

Check out the syllabus for more details

Page 23: Coding Theory - University at Buffalo

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

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

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

Questions/Comments?

Check out the syllabus for more details

Page 27: Coding Theory - University at Buffalo

Let the fun begin!

Page 28: Coding Theory - University at Buffalo

Coding theory

http://catalyst.washington.edu/

Page 29: Coding Theory - University at Buffalo

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

Why did the example work?

English has in built redundancyCan tolerate “errors”

Page 31: Coding Theory - University at Buffalo

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

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

Codes and 5G

Page 34: Coding Theory - University at Buffalo

“Unusual” applications

Data StorageCDs and DVDsRAIDECC memory

Paper bar codesUPS (MaxiCode)

Codes are all around us

Page 35: Coding Theory - University at Buffalo

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

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

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

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

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

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 ?