Você está na página 1de 25

See discussions, stats, and author profiles for this publication at:

https://www.researchgate.net/publication/216456908

Aplicaciones del lgebra Lineal en la


vida cotidiana
Conference Paper January 2009

CITATIONS

READS

2,594

2 authors, including:
Alberto Cano
Virginia Commonwealth University
51 PUBLICATIONS 159 CITATIONS

All in-text references underlined in blue are linked to publications on


ResearchGate, letting you access and read them immediately.

Available from: Alberto


Cano Retrieved on: 19
September 2016

Aplicaciones del lgebra Lineal en la vida cotidiana

Aplicaciones del lgebra Lineal en la vida cotidiana


1

ngela Rojas Matas , Alberto Cano Rojas

Dpto. Matemticas, Universidad de Crdoba, ma1romaa@uco.es


Alumno de Ingeniera Informtica, Universidad de Crdoba, i52caroa@uco.es

Resumen
Con frecuencia los alumnos nos preguntan y esto para qu sirve?. Los profesores de
Matemticas debemos preocuparnos no slo por los aspectos tericos de las
Matemticas sino tambin por sus aplicaciones prcticas. En este trabajo se muestra
cmo el lgebra Lineal se encuentra detrs de muchas actividades de nuestra vida
cotidiana: cuando hacemos una bsqueda en Google, cuando utilizamos el formato
JPEG, o cuando omos un CD de msica.
PALABRAS CLAVE: lgebra Lineal, aplicaciones.
1. Introduccin
Las Matemticas en las Escuelas de Ingeniera se suelen presentar excesivamente
tericas y alejadas de las aplicaciones reales (Martnez de la Rosa et al., 2005). Es
frecuente escuchar por los pasillos a los alumnos hacer la pregunta: y esto para qu me
sirve?.
Como matemticos, no slo debemos conocer la parte terica de nuestra ciencia sino
tambin los usos prcticos de las Matemticas. Como profesores debemos estar
preparados para contestar a la pregunta anterior con conocimientos y con entusiasmo.
En nuestro caso, el primer da de curso se aprovecha, no slo para comentar el programa
de la asignatura lgebra Lineal y los criterios de evaluacin, sino tambin para
presentar un resumen de las mltiples e interesantes aplicaciones de los contenidos
matemticos que van a aprender.
Por otro lado, debemos fomentar el aprendizaje autnomo del alumno en las actividades
acadmicas dirigidas dentro de la metodologa de los crditos ECTS. Pensamos que este
tipo de actividades se deben dedicar, no slo a la resolucin de la clsica relacin de
problemas de Matemticas, sino tambin a la realizacin de este tipo de trabajos en
grupos de alumnos, favoreciendo de camino el trabajo colaborativo.
Con esto perseguimos que los alumnos aprendan Matemticas sabiendo en qu reas
relacionadas con sus estudios se utilizan, para que as valoren ms los conocimientos
que estn adquiriendo.
XIV JAEM Girona 2009

Aplicaciones del lgebra Lineal en la vida cotidiana

Con este tipo de actividades pretendemos conseguir los siguientes objetivos:

Un proceso de enseanza-aprendizaje ms motivador e interesante para los


alumnos.

XIV JAEM Girona 2009

Integrar los contenidos matemticos de nuestras asignaturas en reas de inters


para la titulacin.

Incentivar la bsqueda de informacin.

En la seccin 2 de este trabajo se expone una aplicacin del lgebra Lineal en el


algoritmo de bsqueda de Google, en la seccin 3 una aplicacin en el formato de
compresin de imgenes JPEG y en la seccin 4 una aplicacin en los cdigos
detectores y correctores de errores.

2. lgebra Lineal y Google


Es raro el da en el que no utilizamos Google para hacer algn tipo de bsqueda. Google
es el buscador ms utilizado en Internet. Fue diseado por Sergei Brin y Lawrence Page
en 1998 cuando eran estudiantes de Doctorado de Informtica en la Universidad de
Standford (Page et al. 1998).

Figura 1: Logotipo de Google.

Pues bien, el xito de Google se debe a un algoritmo llamado Page Rank que tiene
mucho que ver con el lgebra Lineal. Este algoritmo asigna una puntuacin de
importancia a cada una de las pginas web, de modo que cuando se hace una bsqueda
mediante palabras clave, el buscador nos proporciona una serie de pginas que
contienen esas palabras clave pero que adems estn ordenadas de modo que las ms
relevantes, las ms importantes, sern mostradas en las primeras posiciones.
El algoritmo
acuerdo a su
humana. La
hiperenlaces
Internet.

PageRank de Google asigna un valor numrico a cada pgina Web de


importancia. Este valor se calcula de forma automtica, sin intervencin
importancia de una pgina Web se cuantifica teniendo en cuenta los
o hipervnculos que contienen todas las pginas Web que componen

Entonces, en un primer intento, se podra tomar como valor de la importancia x de la


i
pgina i como el nmero de enlaces que se hacen desde el resto de pginas hacia i. En
este sentido, podramos construir una matriz A definida de la siguiente forma:
1
ai j

si hay un enlace desde la


pgina

j a la pgina i

en caso contrario

Supongamos que tenemos una coleccin de 4 pginas Web como la mostrada en la


figura 2:

Figura 2: Red compuesta por 4 pginas web

En este caso, la matriz A sera:


0 0
1
A
0
1 1

1 1

1 1

0 0

0 1

0
0

Entonces tendramos:
x1 2; x2 1; x3 3; x4 2
si la importancia x se mide como el nmero de enlaces que recibe la pgina i.
i
De manera que la pgina 3 sera la ms importante, seguida de un empate entre las
pginas 1 y 4, y, por ltimo, la menos importante sera la pgina 2.
La estrategia seguida parece que no es todo lo democrtica que debera, porque
existirn pginas con muchos enlaces y pginas con pocos. Si una pgina Pj enlaza con
n j pginas, parece lgico pensar que el voto de Pj deber repartirse entre las n j
1
pginas, de modo que cada enlace que sale de ella tendr un peso igual a
.
nj
Esto nos lleva a considerar ms razonable el usar la matriz normalizada siguiente:
0
0

A 1/ 3 0
1/ 3 1/ 2

1/ 3 1/ 2

1 1/ 2

0 0

0 1/ 2

0 0

para el clculo de la importancia de cada pgina que compone la red de la figura 2.

Tambin parece razonable pensar que el enlace desde una pgina importante debe tener
ms peso que el enlace desde una pgina poco importante. Entonces la importancia de
cada pgina viene determinada analizando los enlaces
que se hacen hacia ella y la

importancia de cada uno de estos enlaces. Si una pgina Pj

(que contiene n

enlaces)

enlaza a una pgina i,


cantidad

xj
nj

esto debe hacer que aumente la importancia xi de Pi con la

Volviendo al ejemplo de la figura 2, el vector de importancias debe satisfacer:


x x
1

1 2
x x
2

13

x4

31

2
1

x1

x2

Simplificadamente: X A X .
Buscamos un vector X que verifique el sistema anterior. Este sistema es compatible
indeterminado y su solucin es:
x1 k; x 1 k; x 3 k; x 1 k
2

donde k puede tomar cualquier valor. Averiguamos el valor de k de modo que todas las
componentes del vector solucin sumen 1 y obtenemos:

k
,

12
31

12 4

6
,

(0.387, 0.129,0.290, 0.194)

31 31 31 31

Observar que el ranking de pginas de la figura 2 ha cambiado. Parece sorprendente que


la pgina 3 que es enlazada desde las otras tres pginas ha dejado de ser la ms
importante. Para comprender esto, hay que observar que la pgina 3 enlaza solamente
con la pgina 1 y, por lo tanto, dedica todo su voto a esta pgina. Esto unido al voto de
la pgina 2 da como resultado que la pgina 1 sea la ms importante en el ranking.
Como hemos visto, el problema del clculo del vector de importancias queda reducido a

la resolucin de un sistema: X A X , equivalente a ( A I ) X .


Recordemos que dada una matriz A, se dice que un vector X es una autovector de dicha
matriz asociado al autovalor si se verifica que: A X X . Por lo tanto, el vector de
importancias debe ser el autovector de la matriz A asociado al autovalor 1.
La matriz A ser en la prctica enorme ya que en Internet hay billones de pginas Web,
por lo tanto, el clculo del autovector anterior ser muy costoso computacionalmente.

Como dice Cleve Moler (2002) The worlds largest matrix computation. Ms detalles
sobre el algoritmo pueden encontrarse en Fernndez Gallardo (2004).
3. lgebra Lineal y compresin JPEG
Una imagen digital es una matriz. Por ejemplo, en la figura 3 se muestra una imagen en
escala de grises de tamao 256 256 :

Figura 3: Una imagen digital en escala de grises en formato BMP a la izquierda de la figura y en formato
JPEG a la derecha

El nivel de gris de cada pxel se almacena en 1 byte (8 bits) que va desde el 0


correspondiente al negro hasta el 255 correspondiente al blanco. De manera que en este
caso, necesitamos 256 256
bytes. De hecho, si tenemos almacenada esa
65536
imagen en formato mapa de bits, es decir, almacenando todos y cada uno de los
elementos de dicha matriz, tendremos un fichero digital que ocupar 64 kB de memoria
(recordar que 1 kB son 1024 bytes). Por ejemplo, con el formato BMP, es decir, con
el formato de mapa de bits de Windows la imagen anterior ocupa 65kB. Un poco ms
de lo previsto inicialmente porque, adems de guardar todos los elementos de la matriz
anterior (uno detrs de otro), se almacena tambin en el fichero digital una cabecera con
informacin sobre el tamao de la matriz. Sin embargo, si esa imagen se guarda con
formato JPEG podemos comprobar cmo slo ocupa 257 kB de memoria.
Es llamativa la diferencia en bytes entre un formato y otro. ste es un factor importante
a tener en cuenta. As, por ejemplo, si queremos que una pgina Web se cargue
rpidamente es importante colocar en ella imgenes de este tipo que pesan menos.
Esto tambin se aplica al correo electrnico, cuando adjuntamos imgenes y en otras
situaciones habituales. Vamos a ver a continuacin brevemente en qu consiste el
formato JPEG.
En el formato JPEG se divide la imagen en bloques 8 8 y se somete cada bloque a una
transformacin matricial ortogonal de la siguiente forma:
t

B T AT

(1)

siendo A una subimagen 8 8 de la imagen original y T una matriz ortogonal.


8

Las columnas de la matriz T son una base ortonormal de , elegida de tal forma que
la matriz B resultante de (1) tiene la particularidad de concentrar los elementos de
mayor

magnitud en la esquina superior izquierda de la matriz transformada y el resto de la


matriz son nmeros prcticamente nulos.
Dicha base podra ser la llamada base wavelet de Haar, formada por los vectores
ortogonales dos a dos siguientes:

1 0 0 1

0
0

0
0

1 , 1 , 1 , 0 , 0 , 1 , 0 , 0






1
1
0
1
0
0
1
0




1 0

1 1 0 1 0 0

1

1

1
1

Haciendo los vectores unitarios, dividiendo cada vector por su norma, obtendremos la
base ortonormal. Formamos la matriz T escribiendo los vectores de la base anterior:

1
8 1

1
8

1
1

1
8

8
8
8

2
1

8
8
8

1
1

1
1

8
8
8
8
8

12
0
0
0
0

2
2
1

12

0
1

0
0

8
8

0
0

1
2

0
0

0
0

1
0

2
2

1 2
1

El hecho de escoger la base ortonormal tiene una razn muy evidente: la matriz T as
construida tiene la particularidad de ser ortogonal, es decir: T
veremos a continuacin, simplifica el proceso.

T . Esto, como

La transformacin dada en (1), usando esta matriz T, concentra los elementos de mayor
magnitud (en valor absoluto) en la parte superior izquierda de la matriz transformada B.
Por ejemplo:

1 1

1 1

1 1

1 1
T t 5

5
5

1
1
1
1

1
1
1
1

2
2
2
2

2
22
2

2
2
2
2

2
2
2

32

0

0

T
5 5 5 8 8 8 8

5 5 5 8 8 8 8

5 5 5 8 8 8 8

5 5 5 8 8 8 8

8 0 0 0 0 0 0

40 00 00 00 0 0 0

0
0
0

0 0
0 0 0 0
0

0
0

0
0

0
0

0
0

0 0 0 0 0 0

0 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

En la realidad, muchos bloques 8 8 de imgenes reales tendrn sus elementos no nulos


concentrados en la parte superior izquierda y una gran cantidad de nmeros
prcticamente despreciables en el resto.
La transformacin inversa de (1) nos permite recuperar la subimagen A tal y como era
originalmente:
ATBT

(2)

Como se puede observar, se ha aprovechado el hecho de que la matriz T es ortogonal, es


decir que: T

t
T para obtener (2).

Si en la matriz transformada B ponemos a cero todos aquellos elementos


suficientemente pequeos, por debajo de un umbral dado, obtendremos otra matriz B* .
Lgicamente, al hacer la transformacin inversa, no se recupera la matriz original
A
sino una aproximacin suya A* :
*

A TB T

(3)

En la imagen BMP de la figura 3, hemos llevado a cabo las ideas anteriores. La imagen
original I A , se descompone en bloques 8 8 , a cada bloque se le aplica la transformada
descrita obteniendo la matriz I B . Todos aquellos elementos de I B que estn en valor
absoluto por debajo de 3.5, por ejemplo, se ponen a cero. De esta forma en la matriz
*

resultante final I B se obtiene un total de 56078 ceros. Eso son muchos ceros, ya que la
*

matriz transformada I B tiene 256 256


65536
*

elementos. Esto supone que ms del

855% de los elementos de I B son ceros. Despus, a cada bloque

88

de la imagen

transformada I * , se le calcula la transformada inversa, dada por la frmula (3),


B

obteniendo de esta forma una aproximacin


muestra en la figura 4.

I *A de la imagen original. El resultado se

Figura 4: Imagen recuperada con un 855% de ceros en la transformada

Por otro lado, se disponen de mtodos para almacenar una secuencia de nmeros con
muchos ceros seguidos. Supongamos, por ejemplo, que tenemos un vector de 18
componentes del tipo:
( 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Pues bien, en lugar de almacenar las 18 componentes una tras otra, podemos guardar:
(5, 2, Z16), usando tres caracteres (1, 6 y Z) para almacenar los 16 ceros. Esta idea se
aplica en el formato JPEG para almacenar los elementos de la matriz I B* .
Resumiendo, el formato JPEG es un formato de compresin con prdidas ya que no
se recupera la imagen original tal y como era, sino una aproximacin suya.
Un idea similar se usa para guardar un fichero de audio WAV en un fichero MP3.
Ms detalles sobre la transformada wavelet de Haar pueden encontrarse en Adams
(2006), un trabajo de un alumno americano para su asignatura de lgebra Lineal.
4. lgebra Lineal y Cdigos Detectores-Correctores de Errores.
Existen ocasiones donde se transmite una gran cantidad de bits por canales donde se
pueden producir algn tipo de interferencia como se indica en la figura 5.

Ocurren
Interferencia
s
Satlite enva 1101

Antena recibe 1100

Figura 5: Proceso de transmisin de una secuencia binaria

Nos interesa, por lo tanto, alguna forma de codificar la informacin a transmitir de


modo que se puedan detectar y corregir errores.
No slo se aplican este tipo de cdigos en la transmisin va satlite sino que tambin
los estamos usando con frecuencia an sin darnos cuenta. As por ejemplo, la msica de
un CD se graba con este tipo de cdigos y as se puede or bien la msica aunque el CD
est ligeramente estropeado.
La idea de este tipo de cdigos es enviar ms informacin de la estrictamente necesaria
para poder emplearla como informacin adicional para detectar y corregir errores. Por
ejemplo, si tenemos que enviar, como en el caso de la figura 5, cuatro bits de
informacin b1b2b3b4 , vamos a enviar siete: b1b2b3b4b5b6b7 , es decir, los cuatro
originales ms tres bits adicionales que se llaman bits de control. Se tratar en este caso
de un cdigo C(7, 4).
Vamos a explicar un ejemplo de un cdigo C(7, 4) que es capaz de detectar y corregir
un error, suponiendo que cuando se transmite una secuencia de este tipo o no se comete
ningn error o se comete slo uno.
Usaremos, por ejemplo, la matriz:
1 0

0 1
0 0

G 0 0

1
1 1
0

0 1

0 0

0 0

1 0

0 1

0 1
1 1

1 1

La matriz G tiene la matriz identidad de orden 4 en la parte superior. De esta forma se


consigue que al hacer el producto:

b2
G b
3

b4

b1

b2
b
3
b4
5
b
b6

b7
se obtenga una secuencia binaria b b b b b b b donde los 4 primeros bits son
1 2 3 4 5 6 7
originales, es decir, la informacin que deseamos transmitir. Los tres ltimos bits son

los

bits de control. Las operaciones de suma y producto que vamos a emplear son las de
2, que se indican en la tabla 1.
Tabla 1: Tablas de sumar y multiplicar en 2
. 0 1

As, por ejemplo, si deseamos transmitir, como en la figura 5, la secuencia 1101,


deberemos realizar el producto:
1 0 0 0
1

0100

000

0 1 0 0 1

0 0 1 0
0

1000

0 1

1 0 1
1
1

0
1
1
1

0 0 0 1 1

0 1

1101

1001


0
0

Por lo tanto, si deseamos enviar la secuencia 1101, transmitiremos en su lugar la


secuencia 1101100.
Las 16 secuencias de 4 bits posibles de informacin que podemos desear enviar seran:
0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101,
1110, 1111
Se transformarn en 16 secuencias de 7 bits cada una de acuerdo al producto anterior:
0000000, 0001111, 0010011, 0011100, 0100101, 0101010, 0110110, 0111001,
1000110, 1001001, 1010101, 1011010, 1100011, 1101100, 1110000, 1111111

Estas 16 secuencias de 7 bits componen nuestro cdigo C. Tienen una propiedad


importante:
b1
b
2
b1
b2
b3

G
b
b

4
b3

b5

b4 b
6
b7

b5 b1 b2 b4
b1 b2 b4 b5 0

b
b b b 0

6
1
3
4
1
3
4
6

b7 b2 b3 b4
b2 b3 b4 b7 0


b1

b1

b2 0
b2

b
1 1 0 1 1 0 0 b 0

3
3

1 0 1 1 0 1 0
0 H b4

b5
1 1 0 0 1 b5
0
1

0
b6

b
6

b7
b7
0

Hemos tenido en cuenta en las operaciones anteriores el hecho de que sumar y restar es
lo mismo en 2 ya que 0 0 y 1 1.
Como vemos aparece una matriz H construida de la forma:

1 1 0 1 1 0 0

1 0 1 1 0 1 0

0 0 1

0 1 1 1

donde en la parte izquierda de esta matriz nos encontramos la misma submatriz que
apareca en la parte inferior de G y a su derecha aparece la matriz identidad de orden 3.
Como hemos visto, si z es una secuencia de 7 bits del cdigo C, entonces H z .
El valor de H z se llama sndrome.
Supongamos que, como en la figura 5, deseamos enviar la secuencia 1101, entonces la
secuencia de 7 bits que se transmite es:
z 1101100. Si calculamos el sndrome, nos
dar el vector nulo y suponemos que no se ha cometido ningn error y los cuatro bits de
informacin extrados son los cuatro primeros, es decir: 1101.
Supongamos que se comete un error en el primer bit, es decir, que la secuencia de 7 bits
que nos llega es 0101100. Esa secuencia puede comprobarse como no coincide con
ninguna de las secuencias que componen el cdigo C y por lo tanto, ha ocurrido un
error. Pero no hace falta compararla con todas las secuencias de cdigo para ver que no
est en C, sino que basta con calcular su sndrome y comprobar que no nos sale nulo.
Veamos qu ocurre:
z* z e1 1101100 1000000 0101100
Al calcular el sndrome de la secuencia recibida se obtiene:

1

*
H z H (z e1) Hz He1 H z H 0

0

0 1 1

0 1 1 1 columna de H

0 0 0

Es decir, el error ocurre en el primer bit y el sndrome coincide con la primera columna
de H. Anlogamente es igual de fcil comprobar, que si el error se comete en el segundo
bit entonces el sndrome coincide con la segunda columna de H , si el error se comete
en el tercer bit entonces el sndrome coincide con la tercera columna de H, etc.
Por lo tanto, es muy fcil detectar y corregir el error en el caso de que ste ocurra.
El cdigo considerado en esta seccin es un cdigo Hamming C(7,4) que fue usado por
France Telecom para la transmisin de Minitel (un precursor de Internet). Hoy en da se
usan cdigos ms sofisticados, como los cdigos de Reed-Solomon, que permiten
detectar y corregir varios errores (usados en los CDs de msica).
5. Bibliografa
Adams, D., et al. (2006). Haar Wavelet Transformation: Compression and
Reconstruction. Disponible on-line.
http://online.redwoods.cc.ca.us/instruct/darnold/laproj/fall2006/adamspatterson/haar1.p
df
Fernndez Gallardo, P. (2004): El secreto de Google y el lgebra Lineal. Boletn de la
Sociedad Espaola de Matemtica Aplicada, Vol. 30, pp. 115-141. Disponible online.
http://www.uam.es/personal_pdi/ ciencias/gallardo/
Martnez
de la Rosa, F., Vinuesa Snchez, Enseando Matemticas en la
Universidad, Epsilon, N 61, Vol. 21, pp. 57-62 (2005).
Moler, C. (2002). The worlds largest matrix computation. Disponible on-line
http://www.mathworks.com/company/newsletters/news_notes/clevescorner/oct02_cleve
.html
Page, L. et al. (1998). The PageRank Citation Ranking: bringing order to te Web.
Technical Report. Stanford InfoLab. Disponible on-line.