viernes, 16 de agosto de 2013

MSX Files: A la caza de los números primos

Un número primo es un número natural mayor que 1 que solo tiene dos divisores el mismo y la unidad (1). Los números primos son los opuestos a los números compuestos. En esencia, de forma conceptual, podríamos comparar los números primos a los átomos de las matemáticas ya que todos los números compuestos pueden ser descompuestos en números primos tal y como explica la conjetura de Goldbach, ver http://calculatorlab.blogspot.com.es/search?q=goldbach





Carl Friedrich Gauss, también conocido como el Príncipe de las Matemáticas, y padre de la famosa campana de Gauss, estaba obsesionado con los números primos desde su infancia y trataba de descubrir que patrón había detrás de los números primos. Esa obsesión llevo a Gauss a realizar unos de las mayores contribuciones a las matemáticas; al analizar los números primos en grupos (de 10 a 100, de 100 a 1000, etc.), observo que la "probabilidad" de encontrar números primos disminuía cuanto mas grande era el número.



Gauss compilo y organizo estos conocimientos en su obra "DISQUISITIONES ARITHMETICAE" publicada en 1801.


El misterio, y la caza, de números primos continua aún hoy usando super-ordenadores. El último número primos se descubrió en Enero de 2013 y el anterior descubrimiento fue en 2008.



Como no disponemos de un super-ordenador y dado que Gauss fue capaz de hacer esta apreciaciación sin ayuda alguna, he buscado y encontrado un excelente programa en BASIC desarrollado por ROBERT SHARP para BBC Basic http://www.robertsharp.co.uk/2010/10/08/prime-numbers/ y que podéis ver en un MSX:




Este programa  pide un número, y buscará los números primos hasta e incluyendo el número dado. Si encuentra un primo,  lo imprime, de lo contrario sólo imprime un punto. Este método de salida es una buena representación visual de cómo se distribuyen los números primos a través de los números naturales.





Contando el número de puntos entre cada número primo Se puede apreciar perfectamente que la distribución de número primos es "irregular" ......





... y vemos claramente que no existe un patrón definido. 


DIAGRAMA DE FLUJO GENÉRICO PARA GENERAR NÚMEROS PRIMOS

La búsqueda de "patrones" ha sido una constante en la historia de las matemáticas dando lugar a lo que se conoce como funciones analíticas que veremos en un próximo post con la función Z de Riemann.

lunes, 15 de julio de 2013

Multi-Emulador 8 BIT sobre Toshiba Satellite Tecra3

¿Que hacer cuando alguno de nuestros PC´s se queda obsoleto? en mi caso me he decido por realizar un sistema dedicado exclusivamente a la emulación de ordenadores de 8 bits.


Este es un portátil excelente y robusto pero con unas especificaciones ya obsoletas por lo que estaba "abandonado". La decisión de recuperarlo y usarlo como un emulador de múltiples sistemas de 8 bit no ha requerido mucho esfuerzo. 

He puesto el énfasis en seleccionar los mejores emuladores y en conseguir un monitor analógico para dar mayor realismo a sistemas que usaban monitores mono-cromo (ambar, verde, blanco). Un viejo monitor SAMTRON de 14 pulgadas o similar se puede conseguir por poco dinero de segunda mano. La decisión de usar este monitor ha sido para aumentar el realismo de los emuladores.

Para emular al Commodore 64 he elegido el CCS64 que lo podéis descargar de este link http://www.ccs64.com/ y para emular el Apple ][e he elegido el APPLEWIN que lo podéis descargar de este link  http://applewin.berlios.de/

Me interesaba sobre todo emular dos antiguos ordenadores, el Commodore 64 y el Apple IIe (enhanced). Para mejorar la usabilidad del sistema he añadido un teclado estandár USB y un antiguo joystick


EMULACIÓN APPLE ][eAquí se puede apreciar el realismo que ofrece el uso del monitor analógico. Ejecutando un antiguo software de ingeniería de telecomunicaciones.
EMULACIÓN APPLE ][e - Aquí se puede apreciar el realismo que ofrece el uso del monitor analógico. Ejecutando un programa de Base de datos.
EMULACIÓN APPLE ][eWinapple te permite seleccionar muchos modos y parámetros.

EMULACIÓN COMMODORE 64
EMULACIÓN COMMODORE 64Ejecutando data Tool, un software de negocios similar a una hoja de cálculo y base de datos.

EMULACIÓN COMMODORE 64Ejecutando Jupiter Lander (1985)

lunes, 8 de julio de 2013

Origen del SISTEMA BINARIO

El desarrollo del sistema binario, completo y tal como lo conocemos hoy en día se lo debemos a Gotfried Leibniz que lo publico en su obra Explication de L´Aritmethique Binaire. Leibniz se inspiro en información precendente de Roger Bacon y Pingala (un matemático Indio) así como el I-Ching.

Creatio ex nihilo: Leibniz tenía ademas una obsesión por la pureza de las cosas, y de forma inspirada asigno el número "1" a la divinidad y el "0" a la nada expresando así que la divinidad crea la naturaleza y todos sus fenómenos de la nada.

Leibniz, al parecer, estaba convencido que la mente es quien crea la materia y no al revés. ¿Que diría Leibniz si pudiese contemplar los actuales juegos de ordenador basados en mundos virtuales como el WoW?

Gotfried Leibniz

Si queremos convertir un número a al sistema binario, por ejemplo el 131, usaremos este método:

131 / 2 =    65 resto igual a 1
65 /2 =      32 resto igual a 1
32/2 =       16 resto igual a 0
16/2=         8 resto igual a 0
8/2 =         4 resto igual a 0
4/2=          2 resto igual a 0
2/2=          1 resto igual a 1

ordenamos los restos del último al primero: 10000011



La constante de Kaprekar

El número 6174 es conocido como la Constante de Kaprekar o la Operación de Kaprekar llamado así en honor a su descubridor el Dr. R Kaprekar.


para obtener la constante de Kaprekar el procedimiento es sencillo:

1) tomar un número de cuatro dígitos excepto aquellos en los que los cuatro dígitos son todos iguales (1111, 2222, 3333, etc.).
2) Ordenar los cuatro dígitos en orden ascendente, para obtener el minuendo de una resta.
3) Ordenar los mismos cuatro dígitos en orden descendente, para obtener el sustraendo de la misma resta.
4) Calcular el resto, restando el sustraendo del minuendo.

haciendo estas operaciones podréis observar que al séptimo intento o antes obtendréis la diferencia con un valor de 6174.


elegimos el número 5342:

5432 - 2345 = 3087
8730 - 0378 = 8352
8532 - 2358 = 6174

elegimos otro número, por ejemplo el 3141:

3411 - 1134 = 3177
7731 - 1377 = 6354
6543 - 3456 = 3087
8730 - 0378 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174

No importa el número de cuatro dígitos que elijamos, a excepción de aquellos que tienen todos los dígitos iguales, haciendo estas operaciones llegaremos a la constante de Kaprekar antes de 7 pasos.

Este gráfico muestra como numerosas iteraciones de este cálculo convergen en 6174, la constante de Kaprekar

lunes, 3 de junio de 2013

The REPLICATOR Dual - Procedimiento de puesta en marcha

Realmente es un procedimiento para "expertos". Imprimir en 3D no es en nada parecido a la impresión 2D a la que estamos acostumbrados, hay que controlar un montón de factores, temperaturas, perfiles de calentamiento, tipo de plástico, etc. etc. Hoy por hoy, siendo honestos, no se puede decir que sea un equipo para todo el mundo, es un equipo para "iniciados talentosos y pacientes". Eso si, la tecnología es muy prometedora.



Después de desembalar hay que verificar todas las funciones, una por una, la ayuda del menú de la impresora es muy bueno, se necesitan al menos 20 minutos para ver las funciones


Lo siguiente es conseguir una superficie que agarre bien el plástico fundido. Lo normal es usar film de Kapton. En nuestro caso, al no disponer de este film, lo hemos sustituido por una superficie equivalente en capacidad de anclaje.

luego hay que nivelar la impresora y la mesa. Luego hay que calibrar (galgar) la mesa en relación a los inyectores de plástico.

una vez esta nivelada y galgada la impresora, se pre-calienta con los parámetros pre-establecidos por el fabricante. Puedes usar tus propios parámetros si quieres.

la impresora se conecta a un PC o bien puede imprimir directamente desde una tarjeta SD. La conexión a PC añade funciones especiales muy útiles.

Lo primero a imprimir es un bloque de calibración (calibration box). Este esta hecho con plástico PLA (Ácido Polilactico)

una vez ha terminado la impresión, la impresora te avisa y te dice el tiempo invertido (build time)

Finalmente tienes que verificar las dimensiones del calibration box. Es mejor usar un calibre digital, se ve mejor que en el analógico.







viernes, 24 de mayo de 2013

Año 1985 - OMNIBOT


El Omnibot es un robot de juguete fabricado originalmente por Tomy a mediados de los años 1980. El nombre se llegó a aplicar a la exitosa línea de robots fabricados por la empresa. El Omnibot inicial se anunció con las expectativas derenovar el  interés popular por los robots, en momentos en que se estaba haciendo evidente que los robots con una avanzada IA como R2-D2 estaban todavía muy lejos. Tanto Omnibot y Omnibot 2000 podían transportar objetos ligeros. El Omnibot llevado a una bandeja especialmente hecho que encaja dentro de sus garras, y el Omnibot 2000 tenía una bandeja motorizada que encaja dentro de 'panel de accesorios' , permitiendo que la bandeja para tazas y vasos gire al alcance del brazo.

De la web The Old Robots podéis descargar el manual del Omnibot 2000:  http://theoldrobots.com/images7/Omnibot2000.pdf













domingo, 12 de mayo de 2013

Año 1986 - SVI 2000 Robotic Arm


El SVI 2000 Robotic Arm es un curioso dispositivo que funcionaba en todos los MSX1 de la epoca. Diseñado para Spectravideo fue fabricado por QuickShot. En esta web encontrareis mucha información sobre estos antiguos robotshttp://theoldrobots.com/arms2a.html y podréis descargar el manual de usuario de este link http://www.theoldrobots.com/book38/robotarm.pdf







 http://www.theoldrobots.com/book38/robotarm.pdf