Instituto Tecnológico de Villahermosa
NOMBRE: CHAN LAZARO JOSE ANDRES
CATEDRATICO: ANDRES GUERRERO ALDANA
MATERIA: SIMULACION
HORARIO: 12:00 1:00 PM
TRABAJO: REPORTE DE PRACTICA NUMERO I
AULAS: CCSI & M_09
N° DE CONTROL: 09301019
Numero Pseudoaleatorios Un número pseudo-aleatorio es un número generado en un proceso que parece producir números al azar, pero no lo hace realmente. Las secuencias de números pseudo-aleatorios no muestran ningún patrón o regularidad aparente desde un punto de vista estadístico, a pesar de haber sido generadas por un algoritmo completamente determinista, en el que las mismas condiciones iniciales producen siempre el mismo resultado.
Son unos números generados por medio de una f unción (determinista, no aleatoria) y que aparentan ser aleatorios. Estos números pseudoaleatorios se generan a partir de un valor inicial aplicando iterativamente la función. La sucesión de números pseudoaleatorios es sometida a diversos tests para medir hasta qué punto se asemeja a una sucesión aleatoria. Los mecanismos de generación de números aleatorios que se utilizan en la mayoría de los sistemas informáticos son en realidad procesos pseudoaleatorios. Una Sucesión de números pseudoaleatorios es una sucesión de números que ha sido obtenida mediante un proceso aritmético definido, pero que es una secuencia de números aleatorios efectiva para el propósito para el que se la requiere. Si bien una sucesión de números pseudoaleatorios parece generalmente no obedecer a ningún patrón o ley de formación, todo generador de números pseudoaleatorios con un estado interior finito, se repetirá luego de una larga sucesión de números. Es posible demostrar esto mediante el principio del palomar.
Los números aleatorios permiten a los modelos matemáticos representar la realidad. En general cuando se requiere una impredecibilidad en unos determinados datos, se utilizan números aleatorios.
Los seres humanos vivimos en un medio aleatorio y nuestro comportamiento lo es también. Si deseamos predecir el comportamiento de un material, de un fenómeno climatológico o de un grupo humano podemos inferir a partir de datos estadísticos. Para lograr una mejor aproximación a la realidad nuestra herramienta predictiva debe funcionar de manera similar: aleatoriamente. De esa necesidad surgieron los modelos de simulación. En la vida cotidiana se utilizan números aleatorios en situaciones tan dispares como pueden ser los juegos de azar, en el diseño de la caída de los copos de nieve, en una animación por ordenador, en tests para localización de errores en chips, en la transmisión de datos desde un satélite o en las finanzas.
¿ Por qué hay que recurrir a los números pseudoaleatorios? Fundamentalmente porque las sucesiones de números pseudoaleatorios son más rápidas de generar que las de números aleatorios. Si las personas tenemos dificultad en generar números aleatorios, mucho más la tiene un ordenador, la dificultad está en que un ordenador es tan "torpe" que no sabe generarlos. Por eso usan números pseudoaleatorios, que para nuestro fin es lo mismo, pues nadie los puede predecir.
Generación de números pseudoaleatorios 1. Métodos manuales 2. Tablas de biblioteca 3. Métodos de computación 4. Métodos de computación digital
1. Métodos manuales: Es la manera más fácil de generar números aleatorios 2. Tablas de biblioteca
Como los A million random digits: son unas tablas, la ventaja de este método es que estos números siempre se pueden reproducir además hay muchos modelos de simulación en los cuales se necesitan mayores números aleatorios. 3. Métodos de computación
Vienen de procesos físicos, este método en más rápido que los anteriores, el problema es que estos números no se los puede reproducir 4. Métodos de computación digital
Hay 3 maneras de trabajar con este método: a. Provisión Externa:
Se refiere a grabar en un disco o en una cinta algunas de las tablas de números aleatorios y trabajar con ellas, este método es muy lento debido que se puede hasta formar 10 veces más el tiempo que haciendo la operación aritmética de un solo caracter b. Generación Interna:
Es a través de un proceso físico aleatorio con este se presenta el problema de la reproducibilidad de la secuencia c. Generación Interna de Secuencias:
Los dígitos que se generan surgen por medio de una función recursiva, se realiza teniendo un número inicial, se transforma ese número por medio de una ecuación y después nos va dando una secuencia de números aunque se agranden en forma arbitraria.
Definición:
El término Pseudoaleatorio se lo ha definido como números que vienen de una secuencia en la cual cada término es imprescindible, cuyos dígitos pasan una serie de pruebas estadísticas.
Criterios para que las secuencias de numeros pseudoaleatorias sean aceptables
1. Que sean uniformemente distribuidas 2. Que sean estadísticamente independientes 3. Que sean reproducibles 4. Que sean no cíclicas o no periódicas 5. Que el método con el cual se genera sea capaz de generar números aleatorios a altas velocidades 6. Que sea capaz de ocupar el mínimo espacio en la memoria del computador
Conclusión En conclusión tenemos en cuenta que los numeros pseudoaleatorios, son todos aquellos que son generados por un algoritmo & que aparentan ser de tipo aleatorio pero en si tiene una secuencia la cual se repite hasta cierto punto. También tenemos en cuenta que en mismas condiciones iniciales producen siempre el mismo resultado. Existen diferentes métodos para generar números pseudoaleatorios, dentro de estos métodos se encuentran el método congruencial mixto. Aun así ahí que tomar en cuenta ciertos criterios para que los números pseudoaleatorios generados sean aceptados, dentro de estos términos se encuentra que sean uniformemente distribuidos. Gracias a estos números podemos saber cuáles son los siguientes en una determinada secuencia.
Código fuente (Java) public class CMixto { private int iteraciones=9,xn=11,a=9,c=1,m=25; public int obtenerAXnc() { int valor=a*xn+c; return valor; } public int obtenerModulo() { int mod=obtenerAXnc()%m; return mod; } public String toString() { String salida=""; for(int contador=0; contador <=iteraciones; contador++) { obtenerAXnc(); obtenerModulo();
salida+=String.format("|\t%5d\t|\t%5d\t|\t%5d\t|\n",xn,obtenerAXnc(),obte nerModulo()); xn=obtenerModulo();} return salida; } public void imprimir() { JTextArea area= new JTextArea(toString()); area.setBackground(Color.ORANGE ); area.setFont(new Font ("Century Gothic",Font.BOLD , 15)); JScrollPane Scroll=new JScrollPane(area); JOptionPane.showMessageDialog (null,Scroll); } public static void main(String[] args) { new CMixto().imprimir(); }
}
BIBLIOGRAFIA
Conceptos básicos, Modelos y Simulación. Angel Manuel Felicísimo. http://www.etsimo.uniovi.es/zfeli/
Secuencias Pseudoaleatorias para Telecomunicaciones Ernesto J. Cruselles Forner Ediciones UPC 1998