Latest Posts:

Mostrando las entradas con la etiqueta numeros binarios. Mostrar todas las entradas
Mostrando las entradas con la etiqueta numeros binarios. Mostrar todas las entradas

27 de diciembre de 2013

Un sistema binario inventado en Polinesia siglos antes de Leibniz

Los nativos de Mangareva desarrollaron este método para contar pescados, frutas, cocos, pulpos y otros bienes de diferente valor.


El genial matemático Gottfried Leibniz (1646-1716) no fue el primero en inventar el sistema binario que ahora utilizan nuestros ordenadores y teléfonos. Los nativos de Mangareva, una pequeña isla polinésica, se le adelantaron en varios siglos. Los mangareveños no tenían la menor intención de inventar la computación digital, pero se dieron cuenta de que el sistema decimal —como el nuestro— que habían heredado de sus ancestros resultaba demasiado engorroso para hacer los cálculos en el mercado, y le superpusieron un sistema binario que facilita mucho las operaciones aritméticas más comunes. También Leibniz arguyó que su sistema binario servía para simplificar las cuentas, aunque nadie le hizo mucho caso.

No se trata del primer sistema binario conocido de la era preLeibniz –los mismos hexagramas del I-Ching que inspiraron al gran matemático alemán constituyen un sistema binario y tienen casi 3.000 años—, pero Andrea Bender y Sieghard Beller, del departamento de ciencia psicosocial de la Universidad de Bergen, en Noruega, muestran ahora cómo los habitantes de Mangareva no solo inventaron el sistema para contar pescados, frutas, cocos, pulpos y otros bienes de diferente valor en sus transacciones comerciales, sino también cómo esto les condujo a una aritmética binaria que habría merecido la aprobación de Leibniz por su sencillez y naturalidad. Los autores creen que su trabajo revela que el cerebro humano está innatamente capacitado para las matemáticas avanzadas. Publican los resultados en PNAS.

Entender el hallazgo requiere un somero repaso del álgebra elemental. El sistema decimal al que estamos habituados, y que es el más común en todo tipo de culturas humanas por basarse en los diez dedos de las manos, lleva implícitas las potencias de diez en la posición de las cifras: en el número 3.725, se entiende que el 5 va multiplicado por 1 (10 elevado a 0); el 2 va multiplicado por 10 (10 elevado a 1); el 7 va multiplicado por 100 (10 elevado a 2); y el 3 va multiplicado por 1.000 (10 elevado a 3).

En un sistema binario solo hay dos símbolos (convencionalmente 0 y 1, pero también pueden ser dos estados de magnetización, como en los ordenadores), y las potencias implícitas por la posición no son las de 10, sino las de 2. Por ejemplo, en el número binario 111, se entiende que el último 1 va multiplicado por 1 (2 elevado a 0), el segundo por 2 (2 elevado a 1) y el primero por 4 (2 elevado a 2); equivale al siete del sistema decimal.

Bender y Beller no han descubierto nada parecido a un pergamino polinesio densamente cubierto de ceros y unos, ni mucho menos una cinta perforada. Lo que han hecho es analizar el lenguaje de Mangareva —uno de los cientos de idiomas de la familia austronesia habladas en las islas del Pacífico— en el contexto de su modo tradicional de vida y las características de sus bienes más preciados de consumo y sus transacciones comerciales, ofrendas, fiestas y demás. Esta forma de vida está en acelerado proceso de extinción, y con ella el sistema aritmético y la propia lengua de los mangareveños, de la que solo quedan ahora unos 600 hablantes en la isla.

Una evidencia del uso de las potencias de 2 —es decir, del sistema binario— en el comercio tradicional de Mangareva son los valores (o taugas) asociados a los bienes más valorados en la isla: tortugas (1 tauga), pescado (2), cocos (4) y pulpo (8). Otro producto valioso es el fruto del árbol del pan (Artocarpus altilis), llamado en inglés breadfruit (fruto del pan). Los frutos del pan de segunda fila valían lo que un coco (4), pero los mejores igualaban al pulpo (8). Recuerden que 1, 2, 4, 8, … son las potencias de 2.

Otro ángulo por el que asoman esas mismas potencias, aunque más indirecto —y combinado con el sistema decimal al que los mangareveños nunca renunciaron del todo— son las palabras (numerales) de uso más común en el rango de las decenas: takau (10), paua (20), tataua (40) y varu (80). Vuelven a aparecer las potencias de dos (1, 2, 4, 8), aunque esta vez multiplicadas por 10, para cubrir otro abanico de tamaños. Las demás decenas no son palabras nuevas, sino combinaciones gramaticales de las anteriores.

La ventaja de este sistema es que facilita mucho las opèraciones aritméticas fundamentales. Mientras que en el sistema decimal sumar de cabeza (sin contar) requiere memorizar más de 50 cancioncillas (como 4+7=11), en el sistema de Mangareva basta con saber que varu es el doble de tataua, que a su vez es el doble de paua, que a su vez es el doble de takau. Lo demás emerge de un modo muy natural y fácil de utilizar.

Con otras palabras, se trata esencialmente del mismo argumento que utilizó el gran Leibniz. Los demás seguimos contando con los dedos.
Tomado de:

2 de octubre de 2013

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


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.
 


Tomado de:

Enamorado de la Ciencia

22 de enero de 2013

La invención del bit: la partícula fundamental de la información

Quién diría que una idea tan simple supondría una revolución de implicaciones aún en constante desarrollo. Quién diría que un planteamiento tan maniqueo como sí o no, blanco o negro, verdad o mentira acabaría siendo el fundamento de la comunicación del futuro. Así es el átomo de la información. El bit.


En 1948, Bell Laboratories anunció la creación del bit, una unidad para medir la información. Su inventor tenía 32 años y se llamaba Claude Shannon, un tipo de biografía fascinante que algún día espero explicaros en profundidad. La idea de Shannon era contrauitiva y revolucionaria: según él, los mensajes no siempre tienen sentido, y que lo tengan o no son “aspectos semánticos de la comunicación… irrelevantes para el problema de ingeniería”.

Gracias a Shannon, pues, el bit (acrónimo que significa “dígito binario“) es la unidad más pequeña posible de información en la informática digital. En informática la menor unidad indivisible posible es un simple pulso eléctrico, que puede representar un 1 o un 0. Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan sólo dos dígitos. Todos los datos que se almacenan en un ordenador está compuesta de números binarios. El origen del término “dígito binario” se atribuye a John Tukey, un científico que trabajaba en los Laboratorios Bell, y los usó por primera vez en 1947.


El bit es una partícula fundamental de una especie diversa: no sólo es diminuto, sino también abstracto: un dígito binario. Tendiendo puentes entre la física del siglo XX y la del siglo XXI, John Archibald Wheeler, el último colaborador que quedaba de Einstein y Bohr (falleció en 2008), dijo “It from Bit”, es decir, que de los bits, de la información, “sale cada “eso”, cada partícula, cada campo de fuerza” que pueda existir en el mundo.

A fin de cuentas, la información (y en consecuencia el conocimiento) sólo consiste en una selección entre varias alternativas posibles. Tal y como explicaba George Miller:
Un bit de información es la cantidad de información que necesitamos para tomar una decisión entre dos alternativas con el mismo grado de probabilidad. Si tenemos que decidir si un hombre mide menos de un ochenta o más de uno ochenta y si sabemos que las probabilidades son 50-50, necesitamos un bit de información (…) Dos bits de información nos permiten decidir entre cuatro alternativas con el mismo grado de probabilidad. Tres bits de información nos permiten decidir entre ocho alternativas con el mismo grado de probabilidad. (…) si hay 32 alternativas con el mismo grado de probabilidad, debemos tomar 5 decisiones binarias sucesivas, cada una de ellas de un bit, antes de saber qué alternativa es la correcta.
En otras palabras: cada vez que el número de alternativas se incrementa en un factor dos, se añade un bit de información. El número 255 en binario, por ejemplo, es 11111111.

En la película Tron, un bit está representado por una forma poliédrica de color blanco que es un compuesto de dodecaedro e icosaedro. Solo puede decir “sí” (Encendido) y “no” (apagado).

No debemos confundir bits con bytes. Si los bits son la menor unidad “física” de información, los bytes son la menor unidad “lógica” de información, equivalente a un carácter (letra o símbolo). Un bit no tiene un significado práctico mientras que un byte, sí, ya que se trata de un carácter, letra o símbolo. Un byte está formado por 8 bits o pulsos eléctricos. Por lo tanto, en informática se toma como unidad de medida de capacidad de almacenamiento de dispositivos como el disco duro o memoria, la cantidad de caracteres de texto que se pueden almacenar en los mismos. Así un disco duro con capacidad de almacenamiento de 500 gigabytes puede almacenar hasta 500.000.000.000 (500.000 millones) de caracteres o bytes.

Pero por qué un bit son ocho bytes. La decisión fue arbitraria, pero hay una serie de motivos que empujaron a la misma, tal y como exponen Yobioit:
* La razón principal es que a partir de la década de los años 1970s los 8-bits se convirtieron en el menor común denominador de la informática; donde los microprocesadores eran de 8-bits; esto significa que podían procesar 8 bits simultáneamente en un instante particular. Con el tiempo comenzaron a aparecer microprocesadores que podían procesar 16 bits simultáneamente, luego 32 bits, 64 bits y eventualmente 128; todos múltiplos de 8. También existieron microprocesadores de 18 y 36 bits, pero dejaron de fabricarse, popularizándose los múltiplos de 8.
* Los primeros microprocesadores comerciales de los años 1970s eran de 4-bits, o sea que podían procesar 4 bits simultáneamente, en un instante particular; pero hacia la segunda mitad de dicha década comenzaron a popularizarse los de 8-bits cuando empresas como IBM y Apple comenzaron a comercializar computadoras personales.
  • En los años 1970s las placas de circuitos y periféricos eran aún caros; por lo tanto se siguió utilzando tecnología de 8-bits; en la que se podían transportar de un dispositivo a otro (por ejemplo del microprocesador a la memoria o de la memoria a la placa de video) 8 bits simultáneamente. Incluso cuando se desarrollaron los primeros microprocesadores comerciales de 16 bits (que podían procesar 16 bits simultáneamente), cuando dichos bits o pulsos eléctricos viajaban por las líneas de datos hacia la memoria lo hacían de a 8 simultáneamente; para reducir costos de material de circuitería.
* En los años 1960s el juego de caracteres ASCII de 7-bits (128 caracteres) era un nuevo estándar; pero para cuando fue internacionalmente aceptado ya habían muchas variantes. En los años 1960s IBM introdujo el juego de caracteres de 8-bits EBCDIC. Hacia finales de los años 1970s, se pensaba que UNIX iba a convertirse en el sistema operativo dominante; el lenguaje de programación de UNIX, para desarrollar las distintas aplicaciones para dicho sistema operativo, era C, el cual requería un juego de caracteres de 8-bits. Sin embargo el sistema operativo que terminó siendo más popular fue el PCDOS o MS-DOS, el cual también utilizaba un juego de caracteres de 8-bits, una versión extendida de 256 caracteres del estándar ASCII. Luego con la llegada de Windows, que utilizaba la misma estructura de DOS, se siguió utilizando el juego de caracteres y por ende el byte de 8 bits.
* En telecomunicaciones, con el desarrollo de la telefonía digital a principios de la década de los años 1960s, se estandarizó el sistema de 8-bits, en el que los datos que se transmitían eran de 8-bits o pulsos eléctricos. Este sistema fue, décadas después, adoptado y desarrollado por las modernas redes de comunicación incluyendo Internet.
Más información | Yobioit


Tomado de:

Xakata Ciencia

4 de enero de 2013

Fibonacci, la representación de Zeckendorf y la conversión entre kilómetros y millas

La sucesión de Fibonacci, llamada así por el matemático italiano Leonardo de Pisa, Fibonacci (que la presentó en su obra Liber Abaci), es posiblemente una de las sucesiones numéricas más conocidas por los matemáticos y los no matemáticos. Y no es para menos, dada la gran cantidad de propiedades interesantes que posee y la manía que tiene de aparecer en los lugares más insospechados, además de por su relación con \phi, el número áureo. Pero es posible que un objeto matemático como éste nunca sea totalmente conocido, siempre esconda algo. Hoy vamos a hablar de una interesante propiedad de esta sucesión que es poco conocida y que está relacionada con representaciones de números enteros positivos.

Sabemos que todo entero positivo puede representarse de forma única como suma de potencias de 2. De hecho es en esta propiedad en la que se basa el sistema de numeración binario, en el que cada número entero positivo se representa de una única forma con una sucesión de ceros y unos, correspondiendo un 1 a cada potencia de 2 que aparece en la representación y un 0 a cada potencia de 2 que no aparece. Por ejemplo, el 46 se representa de forma única como suma de potencias de 2 de la forma


46=32+8+4+2=2^5+2^3+2^2+2^1,

por lo que 46 en binario es:

46=101110_{(2}.
Edouard Zeckendorf 
¿Qué tiene que ver esto de las representaciones de números enteros con los números de Fibonacci? Para responder a esta pregunta primero tenemos que introducir en esta historia al médico y matemático belga Edouard Zeckendorf, que además fue miembro del ejército belga y prisionero de guerra de 1940 a 1945. Él fue quien demostró el siguiente resultado, conocido como teorema de Zeckendorf:
Teorema de Zeckendorf:
Todo número entero positivo puede representarse de forma única como suma de números de Fibonacci (esto es, elementos de la sucesión de Fibonacci) distintos, de tal forma que dicha representación no contiene dos números de Fibonacci consecutivos.
Esta representación se denomina representación de Zeckendorf del número entero positivo en cuestión.
Vamos, que podríamos representar cada número entero positivo de una forma parecida a como lo hacemos con las potencias de 2 pero con números de la sucesión de Fibonacci, que, por cierto, no está de más recordar


F_n=\begin{cases} 1 & \mbox{si } n=0 \\ 1 & \mbox{si } n=1 \\ F_{n-1}+F_{n-2} & \mbox{si } n \geq 2 \end{cases},

asignando un 1 a una posición si el número de Fibonacci correspondiente aparece en la representación (como F_0=F_1=1, para evitar problemas nos quedamos uno de ellos nada más, F_1, para las representaciones) y un 0 a una posición si el número de Fibonacci correspondiente no está en ella. En el ejemplo que aparece un poco más adelante se verá más claro todo eso.

Zeckendorf publicó su resultado en The Fibonacci Quarterly en 1972, aunque al parecer lo conocía desde 1939. Puede accederse gratuitamente a su artículo en A generalized fibonacci numeration (aquí podéis ver las correcciones de algunas erratas que contenía dicho artículo).

¿Cómo encontramos la representación de Zeckendorf de un número entero positivo n? Pues, a priori es muy sencillo:
Tomamos el número de Fibonacci más grande de entre los que son menores que n y se lo restamos a n. Si queda cero es que el propio n era un número de Fibonacci, y si no es así repetimos el proceso las veces que sea necesario hasta que una de las restas dé cero.
Vamos a hacerlo también con el 46, del que hace un rato calculamos la expresión en binario:
  • Como 46 no está en la sucesión de Fibonacci, su representación de Zeckendorf no es él mismo. Tomamos el número de Fibonacci más grande que sea menor que 46, que es el 34, que por tanto estará en la representación.
  • Restamos: 46-34=12. Como 12 no es un número de Fibonacci buscamos el mayor elemento de la sucesión que sea menor que él, que es el 8. Entonces este 8 también estará en la representación.
  • Restamos: 12-8=4. Como 4 no está en la sucesión, buscamos el mayor número de Fibonacci que sea menor que él, que es el 3, que por tanto también estará en la representación.
  • Restamos: 4-3=1, que sí es un número de Fibonacci, por lo que también hay que tomarlo.
  • La representación queda como sigue:

  • 46=34+8+3+1=10010101_{(F}
Cuanto menos curioso.
 
Esta representación de Zeckendorf también puede servir para definir una operación poco conocida: la denominada multiplicación de Fibonacci. Se define de la siguiente forma:
Dados dos números enteros positivos a, b cuyas representaciones de Zeckendorf son las siguientes:

a=\displaystyle{\sum_{i=0}^k F_{c_i}} \quad b=\displaystyle{\sum_{j=0}^l F_{d_j}}

con c_i, d_j \geq 1, definimos la multiplicación de Fibonacci de a y b, que denotaremos a \circ b, así:
a \circ b= \displaystyle{\sum_{i=0}^k \sum_{j=0}^l F_{c_i+d_j}}
Veamos un ejemplo. Vamos a hacer la multiplicación de Fibonacci de 7 y 14, esto es, 7 \circ 14. Para ello, calculamos las representaciones de Zeckendorf de cada uno de ellos:

7=5+2=F_4+F_2 y 14=13+1=F_6+F_1
Entonces:

\begin{matrix} 7 \circ 14=F_{1+2}+F_{1+4}+F_{6+2}+F_{6+4}= \\ =F_3+F_5+F_8+F_{10}= 3+8+34+89=134 \end{matrix}
Es fácil comprobar que esta operación es conmutativa (reordenando las sumas). Lo que es sorprendente es que también sea asociativa, hecho que probó Donald Knuth (parece que este señor tiene que estar siempre relacionado con cosas raras, como la notación de Knuth).

Y también podemos extender la sucesión de Fibonacci a índices negativos, consiguiendo así una forma de representar todo número entero (sea positivo y negativo) de forma única. Echadle un ojo a los trabajos de Zeckendorf y a los enlaces y podréis encontrar más información.

Para terminar, vamos a ver una manera de pasar de kilómetros a millas, y viceversa, usando esta representación. La clave está en el hecho de que la sucesión de los cocientes de cada número de Fibonacci entre el justo anterior converge al número áureo \phi=(1+\sqrt{5})/2 \approx 1,618 y que una milla son aproximadamente 1,609 kilómetros.

¿Cómo podemos usar esto para nuestro objetivo? Muy sencillo. Supongamos que queremos expresar 72 millas en kilómetros. Lo que tenemos que hacer es encontrar la representación de Zeckendorf de 72 y después sustituir cada número de Fibonacci que aparezca en ella por el inmediatamente superior. La representación de Zeckendorf de 72 es

72=55+13+3+1
Según lo anterior, esto nos dice que 72 millas serán, aproximadamente

89+21+5+2=117   kilómetros.

Si queremos pasar de kilómetros a millas hacemos lo mismo, pero en este caso sustituimos cada número de Fibonacci por el anterior.

Tomado de:

Gaussianos 
google.com, pub-7451761037085740, DIRECT, f08c47fec0942fa0