Powerpoint slides - People

advertisement
Summary of lecture 4
• We are accustomed to count like 1,2,3,4,5,6,7,8,9,10,11,12,…
• This is called counting in base 10 – the second digit tells us how many lots of ‘tens’
we have.
Summary of lecture 4
• We are accustomed to count like 1,2,3,4,5,6,7,8,9,10,11,12,…
• This is called counting in base 10 – the second digit tells us how many lots of ‘tens’
we have.
• We can count in any base we like – e.g., base 5 (tally charts); base 12 (dozens);
base 60 (time); base 2 (binary).
Summary of lecture 4
• We are accustomed to count like 1,2,3,4,5,6,7,8,9,10,11,12,…
• This is called counting in base 10 – the second digit tells us how many lots of ‘tens’
we have.
• We can count in any base we like – e.g., base 5 (tally charts); base 12 (dozens);
base 60 (time); base 2 (binary).
• Addition works in any base we like,
e.g., 9 in base 10 = 1001 in base 2
6 in base 10 = 110 in base 2
1001+111= 1111 in base 2 = 15 in base 10 = 9 + 6
Bending light
• Light will always take the fastest route between two places.
MAT199: Math Alive
Error corretcing and compression
Ian Griffiths
Mathematical Institute, University of Oxford,
Department of Mathematics, Princeton University
MAT199: Math Alive
Error corretcing and compression
correcting
Ian Griffiths
Mathematical Institute, University of Oxford,
Department of Mathematics, Princeton University
• We can represent the five-digit code pictorially:
• Here we have marked each codeword with a different box (oval, double oval,
solid rectangle, dashed rectangle).
• The codewords and errors don’t overlap, but don’t cover the whole space either.
The Hamming code
Summary of lecture 5
• We wish to correct for one-bit errors using the minimum amount of extra memory.
• We define a perfect code as one in which the total number codes achievable
(either correct or one-bit corrupted) is equal to the total available number of code
combinations.
• The Hamming code is a perfect code.
• Things that we didn’t talk about: Chicken Nuggets.
Oops. Sorry!
Error correction
Check digits – U.S. Postal Service money order
Error correction
Check digits – U.S. Postal Service money order
This number is the remainder when we add
the other ten numbers together and divide
by 9
Error correction and encoding
Check digits - ISBNs
This number is
solely to check for
errors
Error correction and encoding
Universal Product Codes (U.P.C.)
Error correction and encoding
Universal Product Codes (U.P.C.)
• Other things that use check digits include:
• Bank routing numbers
• Airline tickets
QR Codes
Binary encoding – CDs
• The audio information on a CD is
encoded in ridges on the disc which are
read by a laser.
Binary encoding – CDs
• The audio information on a CD is
encoded in ridges on the disc which are
read by a laser. The data is coded using a
Reed-Soloman code.
• The laser may misread a bump so there
need to be error-correcting codes to
handle single-bit errors. To solve this
problem, extra data bits are added that
allow the drive to detect single-bit errors
and correct these.
Summary of lecture 6
• Parity addition:
0+0=0
0+1=1
1+0=1
1+1=0
• The Hamming code is a perfect code that can be used to detect and correct for
errors.
• It does this by parity adding various combinations of the seven digits.
• Ideas in binary counting can allow us to work out
a lot more than we might expect – for example
working out what colour hat we are all wearing.
As always, the song is relevant to today’s lecture. Enjoy 
Why we need error correcting on CDs…
Binary encoding – data compression
• In data compression binary codes are assigned in a way that minimizes the
number of digits required, by choosing short codes for the most frequently
occurring data.
Binary encoding – data compression
• In data compression binary codes are assigned in a way that minimizes the
number of digits required, by choosing short codes for the most frequently
occurring data.
• A compression algorithm converts data that is easy to use
into a format that is easy to transport. A common
compression algorithm is a zip file. When this is
uncompressed the file is unzipped you recover the original
information.
Binary encoding – data compression
• In data compression binary codes are assigned in a way that minimizes the
number of digits required, by choosing short codes for the most frequently
occurring data.
• A compression algorithm converts data that is easy to use
into a format that is easy to transport. A common
compression algorithm is a zip file. When this is
uncompressed the file is unzipped you recover the original
information.
• In some cases not all of the information is recovered from
the encoding.
• In such cases the data is returned only approximately to its
original state:
Binary encoding – data compression
• In data compression binary codes are assigned in a way that minimizes the
number of digits required, by choosing short codes for the most frequently
occurring data.
• A compression algorithm converts data that is easy to use
into a format that is easy to transport. A common
compression algorithm is a zip file. When this is
uncompressed the file is unzipped you recover the original
information.
• In some cases not all of the information is recovered from
the encoding.
• In such cases the data is returned only approximately to its
original state:
e.g., Joint Photographic Expert Group (jpeg) files and Motion
Picture Expert Group (mpeg) files.
• (Graphics interchange format (gif) files recover all original
information upon decoding.)
The Voyager 1 space probe
• The Voyager 1 space probe is now the most distant human-made object from Earth at
almost 10 billion miles away.
The Voyager 1 space probe
• The Voyager 1 space probe is now the most distant human-made object from Earth at
almost 10 billion miles away.
• The probe is still transmitting information. The signal reached is now one hundred
quintillion times weaker than when it was only a mile away
(100000000000000000000 times weaker).
The Voyager 1 space probe
• The Voyager 1 space probe is now the most distant human-made object from Earth at
almost 10 billion miles away.
• The probe is still transmitting information. The signal reached is now one hundred
quintillion times weaker than when it was only a mile away
(100000000000000000000 times weaker).
• The total power used by the transmitter is less than one eighth
of an electric kettle.
• The signal can still be decoded because of error-correction schemes.
Summary of lecture 7
• The Reed Solomon code is used to correct for errors in CDs.
• This is highly efficient in correcting for many consecutive errors, and is actually
used in transmitting data from the Voyager spacecraft.
• Data compression can be lossless (no information is lost
following compression and recovery) or lossy (some
information is lost but nothing that is detrimental).
• Zip files use lossless data compression.
• Mp3s use lossy data compression.
• I am not very good at understanding text message
acronyms…
American Express Traveler’s Checks
American Express Traveler’s Checks
• Add together the first nine digits: 0+0+0+2+9+9+9+0+1=
• Divide this number by 9 and take the remainder:
• Subtract this number from 9:
• If there are no errors then this is your final digit – this is a check digit.
American Express Traveler’s Checks
• Add together the first nine digits: 0+0+0+2+9+9+9+0+1=30.
• Divide this number by 9 and take the remainder: 3.
• Subtract this number from 9: 9-3=6.
• If there are no errors then this is your final digit – this is a check digit.
Airline tickets
Airline tickets
• Divide the ten digit number (without the final check digit) by 7 and take the
remainder:
Airline tickets
• Divide the ten digit number (without the final check digit) by 7 and take the
remainder:
00953046010 = 13614943 + 0 remainder.
7
Airline tickets
• Divide the ten digit number (without the final check digit) by 7 and take the
remainder:
00953046010 = 13614943 + 0 remainder.
7
• The remainder is the check digit.
American banking system
American banking system
• For a routing number a1a2a3a4a5a6a7a8a9 calculate:
7a1 + 3a2 + 9a3 + 7a4 + 3a5 + 9a6 + 7a7 + 3a8
American banking system
• For a routing number a1a2a3a4a5a6a7a8a9 calculate:
7a1 + 3a2 + 9a3 + 7a4 + 3a5 + 9a6 + 7a7 + 3a8
• Take the remainder when you divide by 10 and this is the check digit.
American banking system
• For a routing number a1a2a3a4a5a6a7a8a9 calculate:
7a1 + 3a2 + 9a3 + 7a4 + 3a5 + 9a6 + 7a7 + 3a8
• Take the remainder when you divide by 10 and this is the check digit.
• In example above, 7x1 + 3x2 + 9x1 + 7x3 + 3x0 + 9x1 + 7x5 + 3x7 = 108.
108 = 10 remainder 8
10
American banking system
• For a routing number a1a2a3a4a5a6a7a8a9 calculate:
7a1 + 3a2 + 9a3 + 7a4 + 3a5 + 9a6 + 7a7 + 3a8
• Take the remainder when you divide by 10 and this is the check digit.
• In example above, 7x1 + 3x2 + 9x1 + 7x3 + 3x0 + 9x1 + 7x5 + 3x7 = 108.
108 = 10 remainder 8
10
• Check digit is 8.
Universal Product Codes (barcodes)
Separator
• The binary code is then decoded using the following decryption:
Separator
• The barcode encodes the numbers beneath it.
• In this example the barcode reads:
separator
left side: 0001101 0100011 0110111 0110001 0001101 0001101
separator
right side: 1110010 1110010 1100110 1000010 1110100 1011100
separator
Separator
Other uses for barcodes
Other uses for barcodes
ISBNs
Check digit
ISBNs
Check digit
• In ISBN codes we add the first number times 10, the second times 9, and so
on:
10x3+9x8+8x8+7x0+6x5+5x3+4x1+3x0+2x1=217
ISBNs
Check digit
• In ISBN codes we add the first number times 10, the second times 9, and so
on:
10x3+9x8+8x8+7x0+6x5+5x3+4x1+3x0+2x1=217
• We then divide this number by 11 and take the remainder 217/11=19
remainder 8.
ISBNs
Check digit
• In ISBN codes we add the first number times 10, the second times 9, and so
on:
10x3+9x8+8x8+7x0+6x5+5x3+4x1+3x0+2x1=217
• We then divide this number by 11 and take the remainder 217/11=19
remainder 8.
• We then subtract this number from 11 to get our check digit, 3.
ISBNs
What errors can we detect?
• We can detect ALL single errors.
• We can detect ALL transpositions.
ISBNs
What errors can we detect?
• We can detect ALL single errors.
• We can detect ALL transpositions.
• The only inconvenience is if the check digit turns out to be 10 (double
figures). In this case we write X for the check digit.
The ZIP bar code
• The ZIP bar code consists of 52 long and short bars at the bottom of a letter.
• The bars at the start and the end are just guard lines.
The ZIP bar code
• Every group of five digits encodes one digit using the following code:
The ZIP bar code
• Every group of five digits encodes one digit using the following code:
• This gives, in the previous example, the ZIP+4 code 20077-5576-1.
The ZIP bar code
• Every group of five digits encodes one digit using the following code:
• This gives, in the previous example, the ZIP+4 code 20077-5576-1.
• The 1 is a check digit. This makes sure the sum of all the digits is an exact
multiple of 10. (In this case the sum of the digits is 40.)
The ZIP bar code
• There is also additional error correction: each group of five bars has exactly
two long and three short bars.
The ZIP bar code
• There is also additional error correction: each group of five bars has exactly
two long and three short bars.
• If you have an incorrect digit you can use the sum of the other digits to work
out what this should be (by ensuring the sum of all digits is an exact multiple
of 10).
The ZIP bar code
• There is also additional error correction: each group of five bars has exactly
two long and three short bars.
• If you have an incorrect digit you can use the sum of the other digits to work
out what this should be (by ensuring the sum of all digits is an exact multiple
of 10).
• More recent codes use 12 digits rather than 10, though the sum still adds up
to an exact multiple of 10.
Download