viernes, 23 de agosto de 2013

Algebra de Boole: Matemáticas del siglo XIX sin las que no funcionaría internet

0 comentarios


Estamos inmersos en plena era digital, donde los aparatos electrónicos que funcionan, básicamente, a base de recoger ceros y unos, y tratarlos de forma lógica, haciendo cosas que hasta ahora solo eran posibles en los libros de ciencia ficción. Pero como para casi todo en ciencia, hay una base matemática: El álgebra de Boole.

Historia

George Boole, (2 de noviembre de 1815 - 8 de diciembre de 1864), fué  primer profesor de matemáticas del entonces Queen's College, Cork en Irlanda (en la actualidad la Universidad de Cork , en la biblioteca, lectura de metro complejo teatral y el Centro de Boole para la Investigación en Informática se nombran en su honor) en 1849. Pero fué antes, en 1847 cuando escribió un pequeño folleto llamado "The Mathematical Analysis of Logic" , que completo con otro libro " The Laws of Thought" publicado en 1854.

Pero esto quedó en poco más que una curiosidad matemática, hasta 1948, cuando Claude Shannon la utilizó para diseñar circuitos de conmutación eléctrica biestables, aunque ya el propio Alan Touring había utilizado este mismo álgebra de forma teórica, en su diseño de la máquina de Turing (1936). Y con ello, comenzó la era de la computación digital.

Bases

Basada en la teoría de conjuntos (Teoría de Conjuntos - Matemática Aplicada a la Ingeniería), el álgebra de Boole sirve para manejar operaciones lógicas en sistemas de numeración binarios, es decir, basados en ceros y unos. De esta manera se nos permite realizar operaciones matemáticas, como sumas, restas, multiplicaciones, divisiones u operaciones lógicas, como "no algo" ó "esto y lo otro", o "si y solamente si...", tal y como esperaríamos en cualquier sistema de lógica aristotélica. Esto nos permite utilizar tablas de decisión y diagrámas de flujo de datos en los circuitos lógicos.

Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra booleana a menudo emplea los siguientes postulados:
  • Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si para cada par de valores booleanos se produce un solo resultado booleano.
  • Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para todos los posibles valores de A y B.
  • Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C) para todos los valores booleanos A, B, y C.
  • Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B) % (A º C) para todos los valores booleanos A, B, y C.

  • Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un operador binario " º " si A º I = A.
  • Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano " º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de operadores y valores:
  • - Los dos posibles valores en el sistema booleano son cero y uno, a menudo llamaremos a éstos valores respectivamente como falso y verdadero.
  • - El símbolo ·  representa la operación lógica AND. Cuando se utilicen nombres de variables de una sola letra se eliminará el símbolo ·,  por lo tanto AB representa la operación lógica AND entre las variables A y B, a esto también le llamamos el producto entre A y B.
  • - El símbolo "+" representa la operación lógica OR, decimos que A+B es la operación lógica OR entre A y B, también llamada la suma de A y B.
  • - El complemento lógico, negación ó NOT es un operador unitario, en éste texto utilizaremos el símbolo " ' " para denotar la negación lógica, por ejemplo, A' denota la operación lógica NOT de A.
  • - Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado de la expresión depende de la procedencia de los operadores, la cual es de mayor a menor, paréntesis, operador lógico NOT, operador lógico AND y operador lógico OR. Tanto el operador lógico AND como el OR son asociativos por la izquierda. Si dos operadores con la misma procedencia están adyacentes, entonces se evalúan de izquierda a derecha. El operador lógico NOT es asociativo por la derecha.
  • Utilizaremos además los siguientes postulados:
  • P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT
  • P2 El elemento de identidad con respecto a ·  es uno y con respecto a +  es cero. No existe elemento de identidad para el operador NOT
  • P3 Los operadores ·   y + son conmutativos.
  • P4 ·   y + son distributivos uno con respecto al otro, esto es, A· (B+C) = (A·B)+(A·C) y A+ (B·C) = (A+B) ·(A+C).
  • P5 Para cada valor A existe un valor A' tal que A·A' = 0 y A+A' = 1. Éste valor es el complemento lógico de A.
  • P6 ·   y + son ambos asociativos, ésto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).
(Fuente - http://www.monografias.com/trabajos14/algebra-booleana/algebra-booleana.shtml)

Porqué el álgebra de Boole

Obviamente, la respuesta es bastante sencilla. Todas las máquinas digitales funcionan con electricidad, a partir de diferencias de voltaje. Así que a cierto rango de voltaje le asignamos un cero y a otro le asignamos un uno (ceros y unos). De esta manera, gracias al álgebra de boole, podemos operar con estas diferencias de voltaje.



Conclusiones

El álgebra de Boole es la base de toda la electrónica digital. Hoy en día significa que desde tu reloj, hasta internet, no funcionarian sin este ingenio matemático. Es justo decir que sin ella, no existiría el mundo actual tal y como lo conocemos.


Jose Enrique Carrera
Read more ►

jueves, 20 de junio de 2013

Criptografía: Entre el lenguaje y las matemáticas

1 comentarios


Durante los últimos años, se ha hablado mucho sobre la seguridad en Internet y los peligros que tiene enviar tus datos. La solución que nos ofrecen: encriptar. Las páginas de los bancos, o de comercio electrónico, vienen encriptadas (lo distinguiréis porque en la barra de la dirección, en vez del típico http, veréis https). Pero ¿Sabemos realmente qué es la encriptación?¿En qué consiste?

Teoría clásica de la comunicación y encriptación

Una visita a la wikipedia ya nos deja una definición bastante exacta: "Criptografía (del griego κρύπτω krypto, «oculto», y γράφως graphos, «escribir», literalmente «escritura oculta») tradicionalmente se ha definido como la parte de la criptología que se ocupa de las técnicas, bien sea aplicadas al arte o la ciencia, que alteran las representaciones lingüísticas de mensajes, mediante técnicas de cifrado y/o codificado, para hacerlos ininteligibles a intrusos (lectores no autorizados) que intercepten esos mensajes."

Para entender bien la definición, primero hay que entender como se produce la comunicación de un mensaje:






Como vemos, en todo mensaje hay un emisor (emite el mensaje), un receptor (quien lo recibe), un canal por el que se envía el mensaje y un código. El código es el sistema común que hace que el receptor entienda el mensaje. Un ejemplo clásico es el propio idioma, que es comprensible por aquellos que lo hablan. En el código es donde entra en marcha la criptografía. De hecho, cuando alguien habla en un idioma que desconocemos, en cierta manera están hablando de forma "cifrada" para nosotros. Este no es un hecho menor, dados casos como el del ejercito norteamericano, que usaron Indios Navajos como operadores de radio, para que los Japoneses no se enteraran de las conversaciones. Pero el objetivo de la criptografía es obtener un método genérico de encriptado, independiente del idioma. Hoy en día, este sistema no tendría mucho éxito, dada la cantidad de buenos traductores que hay por Internet.

Imaginemos un Capitán que quiera enviar información a un General que se encuentre lejos, y teme que al mensajero le atrapen las tropas enemigas. Si leyeran ese mensaje, sería fatal para ellos, pues podrían enterarse de sus planes. Así que lo mejor es escribirlo cifrado.

Los principios: el cifrado de "El Cesar"

Ya los antiguos y belicosos romanos se dieron cuenta, como bien decíamos antes, de lo importante que era que el enemigo no pudiera interceptar sus comunicaciones. Pero como ésto era inevitable, crearon el primer sistema de cifrado, conocido como el cifrado de "El Cesar", por ser las tropas del ejercito romano en usarlo. Aunque el nombre técnico sería el de "Cifrado por Trasposición".

Este sistema de cifrado seguía una lógica muy simple: elegías un coeficiente de trasposición (vamos, eliges un número), por ejemplo el 2. Así que lo añadías a las letras del abecedario. De tal manera que sustituías las letras originales, por la letra que se encontraba dos posiciones más adelante. Por ejemplo, sustituías la A por la C, la B por la D, etc...  Para ver un ejemplo, supongamos el siguiente mensaje: "Saludos a todos". Le aplicamos un coeficiente de trasposición 2, con lo que quedaría: "Tcnwfqt c vqfqt". Algo totalmente ilegible e incongruente para alguien que no conozca dicho coeficiente.

Vulnerabilidades

Este sistema de cifrado se mostró altamente eficiente para textos cortos, pero daba problemas con textos largos. Entonces era más fácil descifrarlos. Esto se debía a que realmente seguía manteniendo la estructura propia del lenguaje. Es decir, la palabra "Saludos" siempre se escribiría "Tcnwfqt " con un coeficiente de trasposición = 2. De tal manera que, si el texto estuviera en español, sabremos que la letra que aparece en mayor número de ocasiones es la 'A' (ver Wikipedia: Frecuencia de aparición de letras). Entonces si vemos que en un texto la letra que más aparece es la 'C',  podemos deducir el coeficiente de trasposición. A este método se le llama "Criptoanálisis Estadístico".

Mediante este método, cuanto más largo es un texto, más fácil es obtener una estadística fiable, que con un texto corto. Aún así, conociendo el método, solo es cuestión de paciencia.

Métodos con Claves: Critografía Simétrica y Asimétrica

Dada la importancia de controlar el tráfico de datos, el cifrado ha ido cogiendo gran importancia hasta nuestros días. De esta manera, se ha buscado formas de encriptar que, aunque sean públicos y conocidos, no permitan hacer un simple criptoanálisis estadístico para obtener el mensaje deseado.

La idea inicial del cifrado es el uso de una palabra clave conocida solamente por el emisor y el receptor (deseado, claro. El que reciba el mensaje va a ser un receptor, pero éste sólo será informativo si es capaz de decodificar la información que el mensaje contiene). De esta manera la palabra clave serviría para encriptar y desencriptar la información.

Una forma sencilla usada en el siglo XVII, fué una variante del método de trasposición. Asignemos un número a cada letra del abecedario, de tal manera que la A = 001, la B = 002, etc... Ahora cojamos el texto: "Saludos". Y elegimos como palabra clave ABETO. Si en vez de escribirlo con palabras, lo pasamos a números, el texto quedaría: '022001013024005018022' y la palabra clave sería '001002006023018'.

Ahora cogemos ambos códigos numéricos y los ponemos uno encima del otro, en grupos de tres, sumando el primer código de la primera letra del texto a la primera letra de la clave, y así, sucesivamente. En caso de que la clave no llegue a cubrir la longitud del texto, la repetimos, hasta donde haga falta...

022 001 013 024 005 018 022
+
001 002 006 023 018 001 002
======================
023 003 019 047 023 019 024

Como vemos la suma de la letra U, sumada a la letra T, se escapa del alcance del abecedario. Que tiene un total de 29 letras (Ver Método DIMQV, que se está tomando como base en este ejemplo, aunque pudiera no ser del todo exacto). En este caso, lo más sencillo es restarle 29 a 47, que daría 18. De tal manera que el texto cifrado quedaria: "TCPOTPU". Cuando se recepcionara el texto, solo tendríamos que hacer la operación inversa para obtener la clave final. Este ejemplo es muy sencillo, dado que hemos asignado simplemente números a las diferenes letras y hemos hecho una simple suma. Los sistemas actuales usan complejas ecuaciones para que el cifrado sea más efectivo.

Este sería un ejemplo de lo que se conoce como Criptografía Simétrica, o de una sola clave. La mayor parte de los sistemas de encriptación actuales están basados en sistemas de Criptografía Asímetrica, de llave pública y llave privada, en la que el programa crea una clave privada (de forma autónoma) que no es conocida más que por él (mediante sistemas matemáticos de cálculo) y el usuario introduce una clave alfanumérica (es decir, formada por números y letras, así como caracteres especiales, como la @ o la #) que puede dar a otras personas (llave pública).

En todos los programas informáticos que se usan actualmente (en webs o en Windows), las contraseñas van encriptadas con Criptografía Simétrica, en ficheros, que después son leídos para hacer la comparación pertinente. En sistemas Unix usan sistemas que llaman de "one way encription", encriptación de una sola vía, que se trata de sistemas de encriptación que no se pueden desencriptar.


Conclusiones

Este texto no ha pretendido ser más que una ligera prospección de un mundo muy complejo en el que, actualmente, se unen el lenguaje y la matemática estadística más compleja posible con el fin de mejorar la seguridad de las comunicaciones. La "escritura oculta" es, y seguirá siendo, un campo apasionante y necesario en nuestra sociedad.

Fdo.: Jose Enrique Carrera


Read more ►

jueves, 25 de octubre de 2012

Fractales y Naturaleza

2 comentarios


En 1975, Benoît Mandelbrot puso nombre a una de las curiosidades matemáticas existentes, ya desde principios del siglo 20: los fractales. Estos no son más que objetos geométricos cuya estructura básica, fragmentada o irregular, se repite a diferentes escalas.
El ejemplo básico más clasico es la llamada curva de Koch, descrita por  el matemáticosueco Helge von Koch en 1904 en un artículo titulado “Acerca de una curva continua que no posee tangentes y obtenida por los métodos de la geometría elemental”, y que podemos ver en la siguiente figura:



Resultaría imposible entender los fractales, separados de la teoría del caos, y que comenzó a definir  Edward Lorenz en 1963, a través del “atractor de Lorenz” y del archiconocido “efecto mariposa“. Todo empezó cuando en una determinada ocasión quiso volver a echar un vistazo a una simulación que ya había hecho llevándola más lejos en el tiempo. En vez de comenzar desde el principio y esperar a que el ordenador llegara al intervalo que le interesaba, introdujo por el teclado los valores que ya tenía apuntados en el papel. Dejó la máquina trabajando y se fue a tomar un café.
El clima atmosférico se describe por 3 ecuaciones diferenciales bien definidas. Siendo así, conociendo las condiciones iniciales se podría conocer la predicción del clima en el futuro. Sin embargo, al ser éste un sistema caótico, y no poder conocer nunca con exactitud los parámetros que fijan las condiciones iniciales (en cualquier sistema de medición, por definición, siempre se comete un error, por pequeño que éste sea) hace que aunque se conozca el modelo, éste diverja de la realidad pasado un cierto tiempo (véase Horizonte de predicciones).
(Fuente: Wikipedia).
Pero no es objetivo de este post hacer una larga aproximación matemática a estos conceptos, si bien se puede hacer siguiendo los enlaces mencionados anteriormente. Nuestro objetivo en este artículo es mostrar como lo que aparece inicialmente como una curiosidad matemática es, realmente, una forma de trabajar de la naturaleza, que nos ofrece fractales de múltiples formas.
El ejemplo más conocido lo constituyen los copos de nieve. Son algo así como los fractales por naturaleza.



Pero en la naturaleza tenemos más ejemplos cotidianos, como el de los helechos que pueblan nuestros montes.



Y también algo más exóticos, como el de la curiosa verdura Romanescu.




Como vemos, los fractales forman parte de nuestra vida y de un entorno que gracias a la ciencia conocemos cada día mejor.

¿Conoceis otros ejemplos de fractales que se den en la naturaleza?


Autor: Jose Enrique Carrera
Read more ►
 

Copyright © Enamorados de la ciencia Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger