tema 1. codificación y sus usosmonte/materialdocente/tic/tema1.pdf · 2017-11-16 · tema 1. codi...

26
Tema 1. Codificaci´on y sus usos Jos´ e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci´on ETSI Inform´ atica. Universidad de M´ alaga [email protected] 26 de septiembre de 2013 Jos´ e A Montenegro ([email protected]) Teor´ ıa de la Informaci´ on y Codificaci´on 1/26

Upload: others

Post on 01-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Tema 1. Codificacion y sus usos

Jose A. Montenegro

Dpto. Lenguajes y Ciencias de la ComputacionETSI Informatica. Universidad de Malaga

[email protected]

26 de septiembre de 2013

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 1/26

Page 2: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

1 MensajesDefinicion Informal

2 CodificacionAproximacion al problemaRazones codificacion mensajes

3 Definiciones FormalesAlfabetos, Sımbolos, Mensajes y CadenaCodigo, Palabra CodificadaConcatenacionUnıvocamente Decodificable

4 Otros Alfabetos y CodificacionCodigo MorseCodigo ASCIICodificacion PEMCodificacion de datos 2DEjemplo Doble Codificacion

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 2/26

Page 3: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Mensajes

La primera tarea que debemos realizar es establecer el modelo matematico de unmensaje.

Ejemplo 1

Muchos mensajes estan escritos en un lenguaje natural, como es el caso delEspanol.Estos mensajes contienen sımbolos y los sımbolos forman palabras, los cualesconstituyen frases.

Los mensajes pueden ser enviados de una persona a otra utilizando varios medios:una nota manuscrita, un correo electronico, SMS, twitts, etc.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 3/26

Page 4: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Ejemplo 2

Dispositivos como los escaners y camaras digitales producen mensajes utilizandoimpulsos electronicos. Estos mensajes pueden ser enviados de un dispositivo aotro mediante cables, o mediante ondas de radio.

Las definiciones formales basadas en estos ejemplos seran establecidas masadelante.

Por ahora, estableceremos que un mensaje es una secuencia de sımbolos,teniendo en cuenta que el orden de los sımbolos es muy importante.

La principal funcion de un mensaje es transportar informacion de un ente aotro.

Los elementos de la comunicacion deben estar de acuerdo en el mismoconjunto de sımbolos, denominado Alfabeto.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 4/26

Page 5: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Ejemplo 3

Denotamos por A el alfabeto que tiene 28 sımbolos, las letras{A,B,C,D,E,F,G,H,I,J,K,L,M,N,N,O,P,Q,R,S,T,U,V,W,X,Y,Z} y un espacio, elcual es denotado por t (28 o 0).

Utilizaremos el alfabeto A para representar los mensajes escritos en Espanol.

Ignoramos elementos del idioma, distincion entre mayusculas y minuscula,ası como marcas de puntuacion.

En un lugar de la Mancha ...

es reducido al siguiente mensaje utilizando el alfabeto A.

EN t UN t LUGAR t DE t LA t MANCHA

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 5/26

Page 6: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Ejemplo 4

El alfabeto B tiene dos sımbolos, 0 y 1, determinados dıgitos binarios o bits.

Bits 0 y 1 son implementados electronicamente como estados APAGADO yENCENCIDO.

En la practica, los bits son combinados en grupos, como palabras de 32 bits.

Cualquier mensaje transmitido electronicamente es esencialmente una secuenciade bits.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 6/26

Page 7: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Codificacion

Codificar es definido como una regla que permite una sustitucion de unmensaje por otro mensaje.

Los mensajes no tienen que compartir los mismos alfabetos.

Ejemplo 5

Una simple regla para codificar un mensaje en el alfabeto A utilizando el mismoalfabeto es: escribir cada palabra al reves. Por lo que el mensaje:

NOS t VEMOS t PRONTO serıa SON t SOMEV t OTNORP

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 7/26

Page 8: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Ejemplo 6

Una regla para codificar mensajes en A utilizando el alfabeto B es: reemplazar lasvocales por ceros y las consonantes por unos. Por lo que el mensaje:

NOS t VEMOS t PRONTO serıa 10110101110110

Hasta ahora ejemplos mostrados son artificiales tienen un valor limitado.

Debemos mirar los propositos de la codificacion para acercarnos a la realidad.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 8/26

Page 9: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Hay tres razones principales para codificar un mensaje:

Economicas: Situaciones es necesario utilizar un alfabeto menor que loslenguajes naturales. O es deseable el mensaje mas pequeno, esto hadado lugar al desarrollo de tecnicas para la Compresion de datos.

Fiabilidad: El proceso de transmision no esta libre de “ruido” que proporcionaalteraciones en los mensajes. Necesario desarrollar Correccion delos Errores.

Seguridad: Usualmente es necesaria la confidencialidad de los mensajes.Historicamente, desarrollada en las comunicaciones diplomaticas ymilitares, pero hoy en dıa juegan en todas las transaccioneseconomicas. Este area de codificacion es conocida comoCriptografıa.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 9/26

Page 10: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Otros usos como Algoritmos de Prediccion en el caso de dispositivos detamano reducido.

Ejercicio 1

Los siguientes mensajes son versiones codificadas del Espanol. Determine lasreglas de codificacion utilizadas y encuentre el mensaje original.

20 22 5 19 21 5

10100 10110 00101 10011 10101 00101

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 10/26

Page 11: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Definiciones Formales

Definicion 1 (Alfabeto y Sımbolos)

Un Alfabeto es un conjunto finito S. Los miembros de S son denominadossımbolos.

Definicion 2 (Mensaje, cadena y palabra)

Un mensaje en el alfabeto S es una secuencia finita de miembros de S:

x1x2 . . . xn(xi ∈ S, 1 ≤ i ≤ n).

Un mensaje es una cadena de miembros de S, o una palabra en S, donde n es lalongitud del mensaje, cadena o palabra.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 11/26

Page 12: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

El conjunto de todas las cadenas de longitud n es representado por Sn. Porejemplo, cuando S = B y n=3, el conjunto de B3 esta formado por las siguientescadenas:

000 001 010 011 100 101 110 111

El conjunto de todas las cadenas en S es denotado como S∗:

S∗ = S0 ∪ S1 ∪ S2 . . . Sn−1 ∪ Sn

Aunque S0 consiste de la cadena con longitud cero, o la cadena sin sımbolos.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 12/26

Page 13: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Definicion 3 (Palabra Codificada)

Sean dos alfabetos S y T y una funcion c inyectiva c : S → T ∗.Para cada sımbolo s ∈ S la cadena c(s) ∈ T ∗ es denominada la palabracodificada para s.

Definicion 4 (Codigo)

El conjunto de todas las palabras codificadas, C = {c(s)|s ∈ S}, es denominadacomo codigo.Cuando |T | = 2 el codigo es denominado binario, en el caso que |T | = 3 esternario y en general cuando |T | = b, es b-nario.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 13/26

Page 14: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Por ejemplo, sea S = {x, y, z}, T = B, y definimos

c(x) = 0, c(y) = 10, c(z) = 11.

Tenemos un codigo binario, y el conjunto de palabras codificadas esC = {0, 10, 11}

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 14/26

Page 15: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Un codigo c asigna a cada sımbolo en S una cadena de sımbolos en T , quepueden ser de distinta longitud.

I Queremos construir un codigo para el alfabeto A utilizando el alfabetobinario B.

I Si establecemos palabras codificadas de longitud 4, serıa como sigue:

A 7→ 0000 B 7→ 0001 C 7→ 0010 . . .

c debe ser un funcion inyectiva, para que c no asigne el mismo codigo a dossımbolos diferentes. En otras palabras, si c(s) = c(s′) entonces s = s′.

I En este caso solamente tenemos 16 cadenas de longitud 4 en B, por loque los 28 sımbolos en A no pueden ser asignados a sımbolosdiferentes.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 15/26

Page 16: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Previamente solamente hemos considerado la codificacion de sımbolosindividuales, aunque puede realizarse una extension a mensajes (cadenas desımbolos).

Definicion 5 (Concatenacion)

Si c : S → T ∗ es un codigo, extendemos c a S∗ como sigue. Dado una cadenax1x2 . . . xn en S∗, definimos:

c(x1x2 . . . xn) = c(x1)c(x2) . . . c(xn)

Este proceso es conocido como concatenacion, donde extendemos la funcionc : S∗ → T ∗

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 16/26

Page 17: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

No siempre es posible recuperar la cadena original desde la version codificada. Porejemplo, sea S = {x, y, z}, y define c : S → B∗ como:

x 7→ 0, y 7→ 01, z 7→ 10

Si tenemos la cadena codificada 010100 , que es el resultado de codificar unacadena en S∗ utilizando c. En una primera aproximacion podemos obtener dosresultados:

xzzx 7→ 010100, yyxx 7→ 010100

Esta situacion debe ser evitada siempre que sea posible.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 17/26

Page 18: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Definicion 6 (Unıvocamente Decodificable)

El codigo c : S → T ∗ es unıvocamente decoficable (UD) si la funcion extendidac : S∗ → T ∗ es una funcion inyectiva, por tanto cada cadena en T ∗ corresponde aun mensaje en S∗

A lo largo del curso, mostraremos como la propiedad UD puede ser garantizada.

Ejercicio 2

Un codigo binario es definido por las siguientes reglas:

s1 7→ 10, s2 7→ 010, s3 7→ 100

Muestra mediante un ejemplo que el codigo no es unıvocamente decodificable.

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 18/26

Page 19: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Codigo Morse

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 19/26

Page 20: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Codigo ASCII

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 20/26

Page 21: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Codificacion PEM

Figura 1 : Certificado ClavePublica. Windows

Figura 2 : Certificado ClavePublica. PEM

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 21/26

Page 22: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Codificacion de datos 2D

Figura 3 : Datamatrix Figura 4 : QRCode

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 22/26

Page 23: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Ejemplo Doble Codificacion

Figura 5 : Billete de IDA

723300015991054413510032602111390300103301695DUHK

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 23/26

Page 24: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

7233000159910 5441351003 260211 13903 001 033 016 95DUHK

Num. Billete: 7233000159910

Fecha: 260211

MD: 13903

Coche: 001

Plaza: 033

Localizador: 95DUHK

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 24/26

Page 25: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Figura 6 : Billete de Vuelta

7233000159910 5441351003 260211 13903 001 033 016 95DUHK7233000159936 5100354413 280211 13904 001 030 018 95DUHK

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 25/26

Page 26: Tema 1. Codificación y sus usosmonte/MaterialDocente/TIC/TEMA1.pdf · 2017-11-16 · Tema 1. Codi caci on y sus usos Jos e A. Montenegro Dpto. Lenguajes y Ciencias de la Computaci

Jose A. Montenegro MontesDpto. Lenguajes y Ciencias de la Computacion

ETSI Informatica. Universidad de [email protected]

Jose A Montenegro ([email protected]) Teorıa de la Informacion y Codificacion 26/26