error correcting codes: combinatorics, algorithms and applications

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

Upload: odina

Post on 24-Feb-2016

37 views

Category:

Documents


2 download

DESCRIPTION

Error Correcting Codes: Combinatorics, Algorithms and Applications. CSE 545 January 14, 2013. Let ’ s do some introductions. Atri Rudra 319 Davis Hall [email protected] 645-2464 Office hours: By Appointment. Handouts for today. Syllabus Linked from the blog Feedback form - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Error Correcting Codes: Combinatorics, Algorithms and Applications

Error Correcting Codes: Combinatorics, Algorithms and ApplicationsCSE 545

January 14, 2013

Page 2: Error Correcting Codes: Combinatorics, Algorithms and Applications

Let’s do some introductions

Atri Rudra 319 Davis Hall [email protected] 645-2464 Office hours: By Appointment

Page 3: Error Correcting Codes: Combinatorics, Algorithms and Applications

Handouts for today

Syllabus Linked from the blog

Feedback form Link on the blog

Page 4: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 5: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 6: Error Correcting Codes: Combinatorics, Algorithms and Applications

One Stop Shop for the course

Easy access Easier to link to URLs and displaying math

Page 7: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 8: Error Correcting Codes: Combinatorics, Algorithms and Applications

Other stuff on the blog

Page 9: Error Correcting Codes: Combinatorics, Algorithms and Applications

Piazza for discussion

Please use your UB email ID to sign up

Page 10: Error Correcting Codes: Combinatorics, Algorithms and Applications

Questions/Comments?

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

Page 11: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 12: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 13: Error Correcting Codes: Combinatorics, Algorithms and Applications

Grades and such like

Proof-reading 20%

Homeworks 45-35%

Updating Wikipedia 35-45%

Page 14: Error Correcting Codes: Combinatorics, Algorithms and Applications

Updating Wikipedia You need a choose a coding theory topic

Either the entry is not present or the entry is “bare-bones”

Page 15: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 16: Error Correcting Codes: Combinatorics, Algorithms and Applications

In-house wiki

You get to play on an in-house Wiki You will need some LaTeX knowledge

Page 17: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 18: Error Correcting Codes: Combinatorics, Algorithms and Applications

Questions/Comments?

Check out the syllabus for more details

Page 19: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 20: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 21: Error Correcting Codes: Combinatorics, Algorithms and Applications

Questions/Comments?

Check out the syllabus for more details

Page 22: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 23: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 24: Error Correcting Codes: Combinatorics, Algorithms and Applications

If grades are all you care about You’ll be fine if

You do your assignments honestly Make a reasonable attempt at them

Page 25: Error Correcting Codes: Combinatorics, Algorithms and Applications

Questions/Comments?

Check out the syllabus for more details

Page 26: Error Correcting Codes: Combinatorics, Algorithms and Applications

Let the fun begin!

Page 27: Error Correcting Codes: Combinatorics, Algorithms and Applications

Coding theory

http://catalyst.washington.edu/

Page 28: Error Correcting Codes: Combinatorics, Algorithms and Applications

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 29: Error Correcting Codes: Combinatorics, Algorithms and Applications

Why did the example work?

English has in built redundancy Can tolerate “errors”

Page 30: Error Correcting Codes: Combinatorics, Algorithms and Applications

The setupC(x)

x

y = C(x)+error

x Give up

Mapping C Error-correcting code or just code Encoding: x C(x) Decoding: y x C(x) is a codeword

Page 31: Error Correcting Codes: Combinatorics, Algorithms and Applications

Communication

Internet Checksum used in

multiple layers of TCP/IP stack

Cell phones Satellite broadcast

TV Deep space

telecommunications Mars Rover

Page 32: Error Correcting Codes: Combinatorics, Algorithms and Applications

“Unusual” applications

Data Storage CDs and DVDs RAID ECC memory

Paper bar codes UPS (MaxiCode)

Codes are all around us

Page 33: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 34: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 35: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 36: Error Correcting Codes: Combinatorics, Algorithms and Applications

36

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

1 1 1 0 0 1

1 0 0 0 0 1

Page 37: Error Correcting Codes: Combinatorics, Algorithms and Applications

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

Page 38: Error Correcting Codes: Combinatorics, Algorithms and Applications

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 ?