domingo, 10 de mayo de 2009

Generacion de Números al Azar, Tarot y un Futuro Presidente


¿Algo en común lo siguiente?
- Numeros al Azar
- Tarot
- Python
- 1440 USD mensuales
- Un Presidente


Hace un tiempo atras, caminando por una centrica avenida de mi ciudad, observe a a 2 personas que sentadas en una banca, cobraban 18 USD ( sí!, en dolares para que todo el mundo entienda) por una lectura de TAROT.

Rapidamente pensé......

18USD... 4 lecturas diarias, trabajando 5 dias a la semana y durante todo el mes = 1440 USD

Y sin pagar Impuestos.... desperdicié años de universidad...¬¬

¿Pero... que se esconde detras de éstas cartas.....?
El sistema hasta donde la red...me ha informado, se basa en el AZAR y en la supuesta "capacidad" interpretativa de quien lee ese azar de cartas.....
La cosa para quien nunca haya visto este asunto, va de la siguiente manera ( paso a paso, step by step)

1.- El tarotista reordena (o desordena) las cartas (AZAR)
2.- Un incauto e inocente cliente, lleno de fé, retira un numero predeterminado de cartas, preguntando lo que le preocupa, aflige o le hace feliz.
3.- El tarotista lee las cartas, interprantado el significado de éstas. Pudiendo ser preguntas referentes al pasado, presente e incluso futuro.

¿Si ésto es netamente parte del azar, y existen manuales del significado de cada una de estar cartas...... por qué no prescindir de los tarotistas?

¿Existen los Números al Azar o Generacion de éstos?

Un Generador de números aleatorios es un componente o funcionalidad que crea números o símbolos para un programa software en una forma que carezca de un patrón evidente, y que así parezcan ser números aleatorios.

La mayor parte de los generadores de números aleatorios son, en realidad, pseudoaleatorios: se calcula (o introduce internamente) un valor X0, que llamaremos semilla, y, a partir de él, se van generando X1, X2, X3, ...

Siempre que se parta de la misma semilla, se obtendrá la misma secuencia de valores.

El algoritmo básico es el método congruencial, que genera valores en el intervalo [0,1), mediante el siguiente esquema: Se fijan A, B, enteros positivos (deben tener ciertas propiedades para obtener un buen generador), y, a partir de una semilla X0 en el conjunto 0,1,...,(N-1), se generan X1 = A*X0+B (mod N) X2 = A*X1+B (mod N) X3 = A*X2+B (mod N) ... X(k+1) = A*Xk+B (mod N) ...

donde A*X+B (mod N) es el resto de la división entera de A*X+B entre N. Por ejemplo, 16 (mod 7) es 2.

A partir del método congruencial, es posible tomar valores pseudoaleatorios en el intervalo [0,1) como sigue: Se toma N, entero, muy grande, se toman A, B adecuados, y una semilla X0 en 0,1,..,(N-1). A partir de ella, se generan X1,X2,X3,... por el método congruencial, y a partir de ellos, Y0,Y1,Y2,Y3,... mediante la fórmula Yk = Xk /N. Fuente Wiki

.......... Sorpresa!!!!!

Son "pseudo"aleatorios..!

Un excelente sitio, por si quieres probas números aleatorios es, http://www.random.org/

What's this fuss about true randomness?

Perhaps you have wondered how predictable machines like computers can generate randomness. In reality, most random numbers used in computer programs are pseudo-random, which means they are a generated in a predictable fashion using a mathematical formula. This is fine for many purposes, but it may not be random in the way you expect if you're used to dice rolls and lottery drawings.

si............la gente lo usa para la loteria.. tb!


¿Cómo generar Números al Azar con Python?

>>>
random.random() # Random float x, 0.0 <= x <>
0.37444887175646646

Con los que siguen podrás probar segun tus necesidades!!

>>>
random.uniform(1, 10) # Random float x, 1.0 <= x <>
1.1800146073117523
>>> random.randint(1, 10) # Integer from 1 to 10, endpoints included
7
>>> random.randrange(0, 101, 2) # Even integer from 0 to 100
26
>>> random.choice('abcdefghij') # Choose a random element
'c'

>>> items = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(items)
>>> items
[7, 3, 2, 5, 6, 4, 1]

>>> random.sample([1, 2, 3, 4, 5], 3) # Choose 3 elements
[4, 1, 5]


............ despues de todo esto, se podria hasta cobrar la mitad de los
18 USD por lecturas a 9USD Online..de tarot? no?

-------------------------------------------------------------------------------------------

Actualizacion, despues de ver los searching a este post decidí buscar..algo Virtual y facilmente reproducible.... un lector de Tarot con python..

Pero ya estaba hecho..!

y segun los chamanes de la red.. es el mejor sitio del "pseudoaleatorio tarot virtual "

pero en English http://www.facade.com/tarot.

-Asi que decidí ponerlo a prueba.. Con una eleccion presidencial en Chile, donde hace unos dias salió una encuesta con un supuesto EMPATE entre los votos de los candidatos, bueno... ésto podrá ser juzgado dentro de 7 meses más.

¿Saldra electo piñera?

The card represents the critical factor for the issue at hand. The Star: Blessedness. Tranquility. Beauty.
Click for Details

¿Saldrá electo Frei?
The card represents the critical factor for the issue at hand. Knight of Swords, when reversed: Opinionated person who is too quick to condemn others. Bigotry. Action without forethought.

Click for Details
----------------------------------------------------------------------------------------

.. Quien sepa interpretar esto me dice.. JAJAJA
Quizas despues de todo.. los Tarotistas si son "necesarios" para interpretar el azar XD