martes, diciembre 22, 2009

Un artículo más sobre los números de la serie de televisión LOST: 4 8 15 16 23 42

Un artículo más sobre los números de la serie de televisión LOST: 4 8 15 16 23 42

Si!, ya se que existen muchos artículos en Internet sobre los número de LOST, pero como LOST es lo máximo! vale la pena escribir un post al respecto, mas aún porque está pronto a iniciar la última temporada y todo el mundo está hablando sobre ello, entonces este blog no se debe quedar atrás :-).

Me he encontrado un par de páginas que explican la matemática tras la famosa secuencia numérica de la serie (4, 8, 15, 16, 23, 42), estas páginas indican que la secuencia está originada o basada en el polinomio de Shaw-Basho y lo relacionan también con el muy conocido triángulo de Pascal.


Como este blog se trata de informática, y continuando un post anterior sobre el sistema libre de álgebra para computadoras llamado Maxima , a continuación se pretende demostrar que usando: el producto de matrices matemáticas, el polinomio de Shaw-Basho, el triángulo de pascal y las instrucciones de los sitios antes indicados, se puede dar origen a la secuancia de Lost.

Primero es necesario instalar y ejecutar Maxima, en mi caso lo he instalado en Debian Lenny una interfaz gráfica para usuario llamada xmaxima (Maxima por defecto no tiene modo gráfico), con lo cual queda disponible desde el menú de Aplicaciones en la sección Educación.

La versión de Maxima que tengo instalada es:

Maxima version: 5.13.0
Maxima build date: 22:7 9/5/2008
host type: i686-pc-linux-gnu
lisp-implementation-type: GNU Common Lisp (GCL)
lisp-implementation-version: GCL 2.6.7


Paso 1, declarar la funcion de Shaw-Basho:

s(x):=(1/120)*(42 * x**5 - 305 * x**4 + 1100 * x**3 - 895 * x**2 + 1018 * x + 480);

(%i1) s(x):=(1/120)*(42 * x**5 - 305 * x**4 + 1100 * x**3 - 895 * x**2 + 1018 * x + 480);
         1       5        4         3            2
(%o1) s(x) := --- (42 x  - 305 x  + 1100 x  + (- 895) x  + 1018 x + 480)
        120

  • (%i1) significa input 1, y la línea (%o1) significa output 1.
  • Toda sentencia termina en punto y coma
  • Las potencias son expresadas con **
Paso 2, probar la función "s" recién declarada, de la siguiente manera en maxima se puede indicar que se obtengan los valores de la función Shaw-Basho para x = 0, x=1, x=2, al final se muestra como hacer un ciclo para itererar y obtener los valores de la función para valores enteros de x entre cero y diez. Con esto comprobamos que los valores retorandos concuerdan con lo indicado en las páginas más arriba.

(%i2) s(0);
(%o2)                                  4
(%i3) s(1);
(%o3)                                 12
(%i4) s(2);
(%o4)                                 35
(%i5) for x:0 thru 10 do (print(s(x)));
4
12
35
89
213
511
1194
2622
5346
10150
18093

Paso 3, hacer el producto de las matrices formadas por los números tomados del triángulo de pascal y con los primeros seis elementos de la secuencia de la fórmula Shaw-Basho.

En el ejemplo se declaran las matrices A y B, y luego se hace el producto de ambas (en maxima esto se hace con el símbolo punto), lo cual supuestamente debería dar como resultado la secuencia de Lost.

(%i6) A:matrix(
[1,0,0,0,0,0],
[-1,1,0,0,0,0],
[1,-2,1,0,0,0],
[-1,3,3,1,0,0],
[1,-4,6,-4,1,0],
[-1,5,-10,10,-5,1]
);
                                     [  1    0    0     0    0   0 ]
                                     [                             ]
                                     [ - 1   1    0     0    0   0 ]
                                     [                             ]
                                     [  1   - 2   1     0    0   0 ]
(%o6)                                    [                             ]
                                     [ - 1   3    3     1    0   0 ]
                                     [                             ]
                                     [  1   - 4   6    - 4   1   0 ]
                                     [                             ]
                                     [ - 1   5   - 10  10   - 5  1 ]
(%i7) B:matrix(
[s(0)],
[s(1)],
[s(2)],
[s(3)],
[s(4)],
[s(5)]
);
                                                 [  4  ]
                                                 [     ]
                                                 [ 12  ]
                                                 [     ]
                                                 [ 35  ]
(%o7)                                                [     ]
                                                 [ 89  ]
                                                 [     ]
                                                 [ 213 ]
                                                 [     ]
                                                 [ 511 ]
(%i8) A . B;
                                                 [  4  ]
                                                 [     ]
                                                 [  8  ]
                                                 [     ]
                                                 [ 15  ]
(%o8)                                                [     ]
                                                 [ 226 ]
                                                 [     ]
                                                 [ 23  ]
                                                 [     ]
                                                 [ 42  ]


Pero encontramos un error en la secuencia, dado que el resultado ha sido: 4 8 15 226 23 42, el error viene desde el blog de mariano iglesias, del cual estoy tomando el procedimiento.

En la matriz del triángulo de pascal hay un signo equivocado, si se fijan en el patrón, los signos se intercambian en cada columna, después de un número positivo va un negativo, etc., así que en la fila con la secuencia [-1,3,3,1,0,0] he cambiado el signo del tercer elemento así: [-1,3,-3,1,0,0].

Paso 4, declarar una matriz nueva llamada C con la corrección, y realizar de nuevo el producto:

(%i9) C:matrix(
[1,0,0,0,0,0],
[-1,1,0,0,0,0],
[1,-2,1,0,0,0],
[-1,3,-3,1,0,0],
[1,-4,6,-4,1,0],
[-1,5,-10,10,-5,1]
);
                                      [  1    0    0     0    0   0 ]
                                      [                             ]
                                      [ - 1   1    0     0    0   0 ]
                                      [                             ]
                                      [  1   - 2   1     0    0   0 ]
(%o9)                                    [                             ]
                                      [ - 1   3   - 3    1    0   0 ]
                                      [                             ]
                                      [  1   - 4   6    - 4   1   0 ]
                                      [                             ]
                                      [ - 1   5   - 10  10   - 5  1 ]
(%i10) C . B;
                                                   [ 4  ]
                                                   [    ]
                                                   [ 8  ]
                                                   [    ]
                                                   [ 15 ]
(%o10)                                                [    ]
                                                   [ 16 ]
                                                   [    ]
                                                   [ 23 ]
                                                   [    ]
                                                   [ 42 ]

Y listo!, hemos comprobado, usando el software libre Maxima, que lo indicado en Internet sobre las matemáticas de la secuencia de números de la serie "Perdidos" es verdadera.


Después de todo esta habladuría en Internet, habrá que investigar el uso en la vida real o la aplicación práctica del polinomio de Shaw-Basho (incluso sería interesante saber si no es algo que se acaba de inventar para satisfacer las cuestiones frikis de nosotros los fanáticos de la serie Lost, pues en la wikipedia no aparece nada al respecto sin relación a Lost) ...

Otros enlaces interesantes

Sobre Lost y los números:

http://lostpedia.wikia.com/wiki/The_Numbers

http://www.d.kth.se/~dicander/lost.html

http://en.wikipedia.org/wiki/Mythology_of_Lost#The_Numbers

Manual de Maxima:

http://www.ma.utexas.edu/maxima/

martes, diciembre 15, 2009

Gracias a los lectores de mi blog!

Gracias a los lectores de mi blog!

Hola a todos los lectores, cuando empecé a usar blogger allá por el año 2006 gracias a alexio44 (Artículo: probando 123) no pensé que lo que escribiera llegara a tener la acogida o el interés que actualmente percibo, en realidad hasta hoy he aprendido bastante de como funciona la sociedad en Internet.

He recibido correos interesantes de personas que comentan sobre lo que he escrito, incluso con solicitudes de correcciones :-), y pienso wow... hay gente que lee esto...

Entre los artículos que más han llamado la atención están:

Como Validar cedular de Nicaragua

http://denisjtorresg.blogspot.com/2008/02/validar-nmeros-de-cdulas-continuacin.html

http://denisjtorresg.blogspot.com/2008/03/validar-nmeros-de-cdulas-de-nicaragua.html

Para el cual el día de hoy recibí un correo recordándome que no había actualizado algunos links dado que los descargables los tenía en ya desaparecido geocities.

De: Hector Alvarez Castillo Mon, Dec 14, 2009 at 11:56 PM

Hola

En tu blog tienes un articulo de feb 2008.....

A continuación comparto un pequeño código Java para validar si una cadena de texto es un número de cédula válido en Nicaragua.
Siéntanse en la libertad de usarlo, modificarlo, copiarlo o compartirlo. Se ha liberado como GPL3.

http://es.geocities.com/denisjtorresg/cedula.zip


Pero GeoCities ya no existe


Tienes algun nuevo link para descargarlo?


Saludos Hector Alvarez C


Gracias al recordatorio de Hector el día de hoy ya tengo todos los links actualizados.

Simulador del procesador DLX (jbz) hecho en Java

http://denisjtorresg.blogspot.com/2009/02/simulador-de-procesador-dlx-jbz-hecho.html

Para este artículo recibí un par de correos de un estudiante colombiano interesando en usar el esbozo de simulador DLX que está en mi blog para usarlo en sus clases.

Duda sobre Simulador DLX
Fabian Arenas Tue, May 12, 2009 at 2:47 PM

Hola Denis

El presente es debido a que me han surgido un par de dudas y un pequeño problema con el Simulador DLX, el cual me descargue de tu página, para hacer un poco mas macro la problemática lo explicare de la siguiente manera.

Debo realizar la siguiente operatoria con matrices A*B - C*D + E*F; siendo A, B, C, D, E, F matrices ( para el caso de 3x3 ) ... realice sin mayor problema los algoritmos en el pseudo-assembler que ocupa el simulador, pero la momento de "correr" la simulación esta no se ejecuta ni nada, pensando en que el error va por parte de la programación es que comienzo a ejecutar el programa poco a poco ( cargo las 6 matrices y las apunto ), llegando hasta el punto donde he ejecutado de manera satisfactoria A*B y C*D, sin problema almacenándolas en memoria, luego al intentar además de estos 2 procesos realizar E*F, el programa ya no corre en el simulador, por lo que pienso que el problema es este "procedimiento". Luego de revisar exhautiva y repetitivamente el código sin encontrar el problema, intento ejecutar el programa únicamente corriendo el "proceso" E*F y para mi sorpresa funciona sin problemas ....

La verdad es que creo que el problema va en que el simulador no acepta mas de 4 o 5 procesos por programa o algo así ( no se me ocurre otra cosa y debido a esto es que te envío el presente ).

Espero que pudieras decirme o ayudarme de alguna forma a entender que es lo que esta pasando .... para así poder darle solución. Para esto te adjunto el código fuente de lo que tengo programado, si pudieras probarlo y "darme una mano", sería genial ....

Esperando tu respuesta te saluda atentamente.

PD: Una de las dudas que me han surgido es como se puede verificar/asegurar que los procesos estén corriendo en paralelo.

--
Fabián Arenas L.
Estudiante de Ingeniería en Informática. UTEM
http://informatica.utem.cl/

¿Qué antivirus uso? ¡Prometo decir la verdad!

http://denisjtorresg.blogspot.com/2008/10/qu-antivirus-uso-prometo-decir-la.html

Este artículo sobre clamav sirvió de referencia en algunas listas de correo de los GUL de nicaragua, lo cual tampoco me esperaba.

https://lists.ubuntu.com/archives/ubuntu-ni/2009-May/010725.html

Instalar tsearsh2 en PostgreSQL con soporte español con ispell

En definitiva este artículo es el que más me sorprendió, dado que fue comentado en listas de correo oficiales de postgres, este si me dejó con la boca abierta....

http://denisjtorresg.blogspot.com/2008/04/instalar-tsearsh2-en-postgresql-con.html

* From: Gabriel Ferro
* To: pgsql-es-ayuda@postgresql.org
* Subject: Re: Configurar tsearh2
* Date: Sat, 29 Aug 2009 04:11:20 -0700 (PDT)

Mira te cuento yo estuve meses tratando de poner a punto el tsearch con 8.2 y la verdad me volvi loco.. la cosa es que instale el ultimo postgres que ya lo tiene incluido y se me resolvio todo...
te paso algunas páginas que me sirvieron
http://www.designmagick.com/article/27/PostgreSQL/Introduction-to-Full-Text-Indexing/page/1
http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
http://denisjtorresg.blogspot.com/2008/04/instalar-tsearsh2-en-postgresql-con.html
http://www.devx.com/opensource/Article/21674

http://archives.postgresql.org/pgsql-es-ayuda/2009-08/msg00608.php

http://postgresqlorg.blogspot.com/2008/06/re-pgsql-es-ayuda-copia-y-restauracion_18.html

http://www.mail-archive.com/pgsql-es-ayuda@postgresql.org/msg04085.html


En ocasiones quisiera disponer de un poco más de tiempo para escribir más o terminar algunos post que están aún en borrados, de nuevo gracias a todos!