domingo, 30 de junio de 2013

Generación de números pseudoaleatorios en Python, Java y C#

¿Que es un numero pseudoaleatorio?

Los números pseudoaleatorios son aquellos generados por un proceso que aparenta la producción de números aleatorios cuando no son aleatorios realmente, esta secuencia de números no muestra ningún patrón desde un punto de vista estadístico.

Codigo

Utilizando los lenguajes de Python, Java y C# determinaremos que tan efectivos son cada uno para darnos números pseudoaleatorios basándonos en la "Distribucion Uniforme" nos dice que los resultados aleatorios de variables continuas tienen la misma probabilidad.

Python

Java

C#



Como se pudo observar en los códigos se generaron 20000 números aleatorios de 0 y 1 y se realizo 18 corridas de dichos programas, los resultados de la celda superior es la cantidad de 1 obtenidos y la celda inferior son los 0:


Corridas123456789
Python10092993610039999398359984100291002110037
9908100649961100071016510016997199799963
Java9940998599421004710079100409933100209871
10060100151005899539921996010067998010129
C#9957994410027996199981001410066996510034
10043100569973100391000299869934100359966



101112131415161718
9875983999231000010181991510001100179919
101251016110077100009819100859999998310081
996298919940101371005299459874994610090
100381010910060986399481005510126100549910
986598701007310026100291011610016995810138
101351013099279974997198849984100429862


Sacando un promedio y porcentaje  se obtuvo los siguientes resultados:

10
Python49.8988888950.10111111
Java49.91550.085
C#49.9841666750.01583333


En Gráfica:



Conclusion

El lenguaje C# estuvo mas cercano a lo descrito por la "Distribución Uniforme" ya que acorde a esta, ambos números deben de tener la misma probabilidad de salir.

Bibliografia


Libro: Python al descubierto       Autor: Arturo Fernández Montoro

Libro: Visual C# 3 Edición         Autor: Javier Ceballos

Titulo: Números Pseudoaleatorios 
URL: https://es.wikipedia.org/wiki/N%C3%BAmero_pseudoaleatorio

Titulo: Distribucion Uniforme Continua
URL: http://es.wikipedia.org/wiki/Distribuci%C3%B3n_uniforme_continua




2 comentarios:

  1. Como ya le comenté a Alma, lo que están probando es la pura uniformidad, que en sí no es aleatoriedad ;)

    ResponderEliminar