viernes, 25 de octubre de 2013

NUMEROS ALEATORIOS

Números aleatorios definición propiedades, generadores y tablas.
           
            Los números aleatorios son numeros que deben de cumplir los requisitos de espacio equiprobable, es decir, que todo elemento tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro. Son generados por medio de una función determinista (no aleatoria) y que aparentan ser aleatorios.

Generadores de números aleatorios
            Los métodos para generar números aleatorios involucran algún proceso físico cuasialeatorio, que genera sucesiones de números aleatorios de determinada longitud. El requisito general para las sucesiones es la independencia estadística. Para esto, existen varios métodos:
·         Métodos manuales: Dispositivos mecánicos o electrónicos, lanzamientos de monedas o dados, empleo de barajas, ruletas. Son menos prácticos pero simples, lentos, atractivos, pedagógico.   Pero no  pueden reproducirse.
·         Tablas de bibliotecas: Generados por los métodos anteriores. Están en tablas. Siempre pueden reproducirse, pero es un sistema lento.  Determinados problemas requieren  más números aleatorios que los publicados.
·         Métodos de computación analógica: Dependen de procesos físicos aleatorios, por ejemplo: el ruido térmico de un circuito con  semiconductores, que convertido en un número binario, representa un valor numérico aleatorio. Se considera que conducen a verdaderos números aleatorios.
·         Métodos de computación digital: Se han sugerido tres métodos para producir números aleatorios cuando se usan computadoras digitales; provisión externa, generación interna, relación de recurrencia.
           
            Existen en la actualidad técnicas para generar con una computadora, variables aleatorias uniformemente distribuidas, r (en donde r  ≥  0 y   1  ≥  r). Los números generados por estas subrutinas de computadora se denominan números pseudoaleatorios, porque se generan a partir de una fórmula totalmente determinística mediante la computación. Sus propiedades estadísticas, coinciden con las de los números generados a través de un dispositivo fortuito idealizado que selecciona números de un intervalo unitario (0,1) de un modo independiente en donde son igualmente probables todos los números.
            A condición de que estos números pseudo aleatorios puedan pasar el conjunto de pruebas estadísticas (las de frecuencia, auto correlación, producto rezagado, corridas, de distancia y así sucesivamente) implicadas por un dispositivo fortuito idealizado, tales números pseudo aleatorios se pueden tratar corno si "en realidad lo fueran" a pesar de que no lo son.

Comparativa de métodos de generación
MÉTODOS
VENTAJAS
DESVENTAJAS
Manuales
Facil generación
Lentos, simples y poco prácticos
Tablas
Fácil implementación
Lentos y no reproducibles
Comp Analógica
Rápidos  “ verdaderos”
No reproducibles
Comp Digital
Rápidos
No son verdaderos

Requisitos para un buen generador de números pseudo aleatorios con distribución uniforme:

·         La distribución de los números debe ser uniforme en todo el intervalo [0,1].
·         Los  números deben ser independientes dentro de toda la serie generada.
·         El ciclo del generador debe ser lo suficientemente grande.
·         La serie debe volverse a repetir.
·         Capaz de generar números pseudo aleatorios a altas velocidades.
·         Requerir una mínima cantidad de la capacidad de memoria de Computadora.

Ejemplos de aplicación
·         Simulación: La reproducción de fenómenos naturales necesita números aleatorios. En Física los ejemplos clásicos: Física Estadística, Física de Partículas
·         Muestreo: Muchas veces es poco práctico examinar todos los casos posibles. Un muestreo aleatorio puede revelar un comportamiento típico.
·         Análisis Numérico: Técnicas numéricas necesitan números aleatorios
·         Programación de ordenadores: Tests de efectividad de algoritmos
·         Toma de decisiones: Se rumorea que algunos ejecutivos tiran monedas al aire para tomar decisiones.
·         Estética: Un toque de aleatoriedad puede resultar agradable
·         Juegos: De aquí proviene el propio método para generación de números aleatorios



Fuente:
Sanchez, Juan. Universidad Católica de Valparaíso.
http://www.material_simulacion.ucv.cl/en%20PDF/aleator11.pdf

Departamento de Física Teórica. Universidad Complutense
http://teorica.fis.ucm.es/programas/MonteCarlo.pdf

Correa, Gabriela. Universidad de Antioquia

http://docencia.udea.edu.co/ingenieria/isi-494/contenido/exposicion.html

Cómo generar números aleatorios con Excel

La función ALEATORIO (RAND en la versión inglesa) de Excel genera números aleatorios. Esta función no tiene argumentos y es recalculada nuevamente cada vez que se produce un cambio en la hoja, excepto que el modo de cálculo sea "manual".
Los números que produce ALEATORIO (RAND) van de del 0 al 1.
En esta hoja usamos la fórmula =ALEATORIO() en el rango A2:A11



Si queremos producir una serie de números aleatorios enteros, debemos combinar la función ALEATORIO con la función REDONDEAR (ROUND), o con alguna otra función de este tipo como REDONDEAR.MAS o REDONDEAR.MENOS.
En esta hoja, usamos la fórmula combinada =REDONDEAR(ALEATORIO()*100,0) para producir números aleatorios entre 0 y 100



Si queremos producir números aleatorios que se encuentren en un rango entre dos números, digamos entre 12 y 88, podemos usar la fórmula

=REDONDEAR(ALEATORIO()*(88-12)+12,0)


Con esta técnica podemos generar, por ejemplo, números aleatorios para la lotería. Aquí, por ejemplo, el Loto sortea 6 números entre el 1 y el 36. El problema de esta fórmula es que puede generar números duplicados, como en este ejemplo



Supongo que hay más de una técnica para superar este problema. Mencionaré aquí dos de ellas.
La primera es, simplemente, recalcular la hoja (presionar F9) hasta lograr una serie sin números repetidos.
La otra consiste en condicionar la creación de los números aleatorios. Esta técnica consiste en generar una referencia circular intencional, para lo cual es necesario que la opción Iteración en Opciones/Cálculo esté activada (pueden bajar el archivo del ejemplo con las fórmulas Numeros Aleatoriosaqui)



La fórmula que usamos en el rango A2:A11 es


=SI(SUMA($B$2:$B$11)<>10,REDONDEAR(ALEATORIO()*(36-1)+1,0),REDONDEAR(ALEATORIO()*(36-1)+1,0))

en el rango B2:B11 usamos la fórmula =CONTAR.SI($A$2:$A$11,A2). Esta fórmula controla si hay números duplicados. Si el resultado es 1, el número aparece una sola vez.



La fórmula en el rango A2:A11 controla si todos los resultados en el rango B2:B11 no suman 10, es decir que hay algún numero duplicado; en ese caso calcula un número aleatorio. Si la condición lógica no se cumple, vuelve a calcular. Como ven hay aquí una referencia circular. Como hemos activado la opción "Iteración", Excel intentará encontrar la serie de 10 números que cumplan con la condición. Si no la encuentra, deberemos pulsar nuevamente F9 (recalcular) hasta encontrar la solución.

Esta técnica fue sugerida por John Walkenbach en su libro "Microsoft Excel 2000 Formulas".