P. 1
aleatorios numeros

aleatorios numeros

|Views: 11|Likes:

More info:

Published by: Feernando ArrioLaa Dee Lopeez on Apr 10, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/29/2015

pdf

text

original

Números aleatorios

Introducción Definiciones Características de un generador Métodos de generación Pruebas de aleatoriedad Referencias

Lenguajes de simulación

2004-2005

Números aleatorios. Introducción
La gran disponibilidad de generadores de números aleatorios en muchos entornos y en prácticamente casi todos los compiladores puede llevarnos a pensar que para un usuario de la simulación no sería necesario estudiar estas cuestiones. Una lección del pasado reciente nos obliga a sacar conclusiones y actuar con mucho cuidado con dichos generadores (RANDU - IBM). El uso progresivo de modelos de simulación cada vez más detallados exige una mayor calidad de los generadores de números aleatorios. Ripley indica que la generación de números aleatorios parece uno de los temas peor comprendidos de la ciencia de computadoras. Knuth, por su parte indica que “Los números aleatorios no deben ser obtenidos con un método elegido aleatoriamente”

Lenguajes de simulación

2004-2005

.Puede existir una clara dependencia entre ellos. 4.Números aleatorios.-La varianza de los números generados puede ser demasiado alta o demasiado baja. 3. Lenguajes de simulación 2004-2005 Números aleatorios. Obs: Una particular ley de Probabilidad base para la generación de números pseudoaleatorios u1..Números correlativamente más bajos o más altos que los adyacentes.Los números generados pueden corresponder a una distribución discreta en lugar de a una continua..1).. DEF 3: Un Número aleatorio es una realización de una variable aleatoria que tiene asociada una ley de probabilidades F. .La media de los números generados puede ser demasiado alta o demasiado baja.1). Lenguajes de simulación DEF 4: Una sucesión de números aleatorios generados {u1. u2.. si tiene las mismas propiedades estadísticas relevantes que dicha sucesión de números aleatorios reales. 2. 5. . Por ejemplo . 2004-2005 . Algunas características Cuando se generan números seudo aleatorios se pueden producir ciertos errores o problemas. Obs: Esta definición conduce a los denominados generadores PT-perfectos usados en Criptografía.. como por ejemplo: 1. un : es la uniforme (0 .Varios números por encima de la media seguidos de otros por debajo de la misma.. Definiciones (I) DEF 1: Kolmogorov (1987) [Complejidad Algorítmica] Una sucesión de números es aleatoria si no puede producirse eficientemente de una manera más corta que la propia serie..Autocorrelación entre números. DEF 2: L’Ecuyer (1990) [Impredicibilidad] Una sucesión de números es aleatoria si nadie que utilice recursos computacionales razonables puede distinguir entre la serie y una sucesión de números verdaderamente aleatoria de una forma mejor que tirando una moneda legal para decidir cuál es cuál..Los números generados pueden no estar distribuidos uniformemente. u2. un} es una sucesión de números U(0. 1) ui ~ U(0....

Un ciclo representa la longitud de una secuencia antes que comiencen a repetirse los números en el orden anterior. con h=1.1]h. Existe una gran número de métodos para generar {ui} ≈ U(0. La ocurrencia de repeticiones en los números obtenidos puede propiciar la no aceptación del generador. idealmente..E[U]= ½ .n. Partiendo del mismo número se debe poder obtener la misma secuencia Los números obtenidos deben aproximarse a las propiedades estadísticas ideales de uniformidad e independencia.Independientes ... – – Lenguajes de simulación 2004-2005 .Números aleatorios. a diferentes lenguajes de programación.n .. hay también unas ciertas consideraciones importantes para la elección de un método u otro. La rutina debe ser transportable entre diferentes ordenadores e. i=1. Definiciones (II) DEF 5: Una sucesión de números aleatorios {ui} es aleatorio si h-tuplas de números sucesivos no superpuestos se distribuyen aproximadamente como una [0. Las secuencias de números aleatorios deben ser replicables. se distribuye como una ley uniforme en [0. La rutina debe tener un ciclo suficientemente largo.ui+1) .2.1]2. para n suficientemente grande. Obs: h=2 tenemos (ui.1) : -Uniformente distribuidos . V[U]= 1/12 ..Período largo Lenguajes de simulación 2004-2005 Consideraciones para la elección de generadores Aunque existe un gran número de métodos posibles para la generación de números aleatorios en una computadora.2. – – – La rutina debe ser rápida.

.... 2004-2005 . P1 : Obtener semilla (por ejemplo 445) P2 : Aplicación del algoritmo (elevar al cuadrado y truncar) P3 : Validación del conjunto de los números generados Ejemplo: Consideremos la semilla 445 X 445 9802 792 2726 Lenguajes de simulación X2 1| 9802 | 5 96| 0792 | 04 6 | 2726 | 4 ........... N° Aleatorio 0.Algoritmo .0792 0..2726 ....Métodos de generación Existen varios métodos para la generación de números aleatorios como: 1.Método de los cuadrados medios 2.....Métodos de Congruencias Todo proceso de generación consta de tres fases: [Semilla ....Validación] P1 : Obtener semilla (valores iniciales) P2 : Aplicación de algún algoritmo de generación recursivo P3 : Validación del conjunto de números generados (Pruebas de Aleatoriedad) Lenguajes de simulación 2004-2005 Métodos de los cuadrados medios Consiste en que cada número de una sucesión es producido tomando los dígitos medios de un número obtenido mediante la elevación al cuadrado...9802 0....

Se debe cumplir que m>0. a<m. Si q es un número primo que divide a m. (1) Planteado por HULL. Para obtener el número aleatorio se utiliza: Un=Zn/m La elección de los valores de a. entonces 4 divide a (a-1). Si 4 divide a m. T. SIAM Rev. Random number generators. 4 (1962).. E. Lenguajes de simulación 2004-2005 .2. La mayoría de los generadores que se utilizan actualmente son generadores de congruencias lineales. DOBELL.. c es el incremento o desplazamiento y m el módulo. siendo todos ellos enteros. Cuando c>0 los generadores se llaman mixtos y cuando c=0 se llaman multiplicativos. entonces q divide a (a-1).c y m son determinantes para la longitud de la secuencia y la calidad del generador. c<m y Z0<m. ⎡ c(a i − 1) ⎤ Z i = ⎢a i Z 0 + ⎥ mod m − a 1 ⎣ ⎦ Teorema1: Un generador de congruencias lineales mixto tiene periodo total si y solo si se cumplen las condiciones siguientes: El único entero positivo que divide exactamente a m y a c es 1 (m y c son primos entre si). A.. Zi=aZi-1-mKi donde Ki= ⎣aZi-1/m⎦ donde Z0 es la semilla. Lenguajes de simulación 2004-2005 Generadores de congruencias lineales mixtos Su forma general es: Zi=(aZi-1+c) mod m Por inducción matemática se puede ver que para i = 1. R. Este tipo de generadores producen una secuencia de enteros entre 0 y m-1 de acuerdo con: Zn=(a Zn-1+c) mod m donde a es el multiplicador.Generadores de congruencias lineales.

6. Lenguajes de simulación 2004-2005 Generadores de congruencias lineales. 3 Ejemplo: sea m = 102 = 100. c = 0 y X0 = 63 la secuencia obtenida de acuerdo con dicha fórmula es: X0 = 63 X1 = (19)(63) mod 100 = 1197 mod 100 = 97 X2 = (19)(97) mod 100 = 1843 mod 100 = 43 X3 = (19)(43) mod 100 = 817 mod 100 = 17 X4 = (19)(17) mod 100 = 323 mod 100 = 23 . Este tipo de relaciones se producen generalmente en generadores multiplicativos. Cuando m es una potencia de 10. Lenguajes de simulación 2004-2005 . Ejemplo (I) La fórmula general es: Xi+1 = (a Xi + c) mod m. Z0 = 1 i/a 0 1 2 3 4 5 6 7 8 9 1 1 1 2 1 2 4 8 5 10 9 7 3 6 3 1 3 9 5 4 1 4 1 4 5 9 3 1 5 1 5 3 4 9 1 6 1 6 3 7 9 10 5 8 4 2 7 1 7 5 2 3 10 4 6 9 8 8 1 8 9 6 4 10 3 2 5 7 9 1 9 4 3 5 1 10 1 10 1 Las raíces primitivas son 2. la operación módulo se realiza guardando los b dígitos decimales de la derecha. Los números generado por 2 y 6 son iguales pero en sentido contrario. a = 19. para i= >1. por lo que este tipo de operación será muy eficiente en las computadoras. i=0.1. Lo mismo ocurre con los generados por 7 y 8. Ejemplo (II) Sea la secuencia: Xi+1 = a Xi mod 11. 7 y 8. como 10b...Generadores de congruencias lineales. 2.

a = 13.Generadores de congruencias lineales. Ejemplo (IV) Parámetros b m 0 13 0 13 0 13 0 11 0 11 Caso 1 2 3 4 5 a 6 7 5 7 6 xo 1 10 5 5 3 Caso 1 2 3 4 5 6 5 12 2 7 10 9 8 3 9 8 11 1 10 10 9 12 5 4 5 2 6 12 6 8 Salidas 12 7 3 8 8 1 9 8 4 2 3 4 5 1 1 5 2 12 7 6 4 1 8 5 3 11 7 1 2 7 1 10 5 3 9 6 5 12 10 10 10 9 8 4 5 Lenguajes de simulación 2004-2005 . 2. c = 0 y X0 = 1. Lenguajes de simulación 2004-2005 Generadores de congruencias lineales. m = 2l y c = 0 el periodo posible más grande es P = m/4 = 2l-2 que se consigue en el caso en que la semilla es impar y el multiplicador a está dado por ±3 + 8k donde k es un entero. Ejemplo (III) La fórmula general es: Xi+1 = (a Xi + c) mod m Ejemplo: sea m = 26 = 64. 3 y 4 i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Xi 1 13 41 21 17 29 57 37 33 45 9 53 49 61 25 5 1 Xi' 2 26 18 42 34 58 50 10 2 Xi'' 3 39 59 63 51 23 43 47 35 7 27 31 19 55 11 15 3 Xi''' 4 52 36 20 4 Para una potencia de 2.

Propiedades Algunas observaciones de las salidas de los generadores de congruencias: i) Los generadores de congruencias tienen ciclos iI) La longitud del ciclo depende de la selección de los parámetros iii) Dentro de selecciones de parámetros que conducen a la misma longitud. algunas salidas parecen más aleatorias que otras. Xi+1) sugiere que éstos se disponen en un número finito de hiperplanos. a = 65539 . iv) La representación de pares (Xi. Lenguajes de simulación 2004-2005 . Ejemplos (V) Un algoritmo de muy fácil implementación de generadores de congruencias es m = 231-1 a = 75 (raíz primitiva de m) Xn = 75 Xn-1 mod (231-1) un = Dicho generador se encuentra en las bibliotecas IMSL y NAG La rutina RANDU. b = 0 Xn = 65539 Xn-1 mod (231) un = Xn/m ¡Este generador proporciona tripletas consecutivas de números que caen en 15 planos! Lo que sugiere cierta que los resultados a obtener son previsibles (Mal Generador) Lenguajes de simulación 2004-2005 Generadores de congruencias lineales. que IBM proporcionaba para sus equipos consideraba un modelo congruencial multiplicativo con m = 231 .Generadores de congruencias lineales.

b42 = (b39 + b37) mod 2 = 2 mod 2 = 0 Se puede repetir la secuencia pero dependiendo de la elección de la longitud no coincidir en dicha repetición. mientras el segundo tiene una correlación despreciable menor que 2-18.. Lenguajes de simulación 2004-2005 Generadores de Tausworthe En este caso se deben proporcionar los primeros q bits. el periodo no debe ser el único criterio de decisión a la hora de elegir un generador.25 entre Xn y Xn-1.Consideraciones respecto a la elección Un generador que tiene el periodo máximo posible se dice que es de periodo total. Lenguajes de simulación 2004-2005 . Una de las cuestiones de más importancia en este aspecto es el de la autocorrelación más baja entre número sucesivos.. Ambos generadores tienen el mismo periodo total pero el primero tiene una correlación de 0. Este tipo de generador depende del largo de la palabra Ejemplo: r=3 q = 5 con b1 = b2 = b3 = b4 = b5 = 1 para i ≥ 6 bi = (bi-3 + bi-5) módulo 2 b6 = (b3 + b1) mod 2 = 2 mod 2 = 0 b7 = (b4 + b2) mod 2 = 2 mod 2 = 0 b8 = (b5 + b3) mod 2 = 2 mod 2 = 0 b9 = (b6 + b4) mod 2 = 1 mod 2 = 1 b10 = (b7 + b5) mod 2 = 1 mod 2 = 1 . lo que es análogo a la semilla de los generadores de congruencias lineales. Xn= [(234 +1)Xn-1+1] mod 235 Xn= [(218 +1)Xn-1+1] mod 235 No obstante.

. Se elige l = 4 y1 = b123 + b222 + b321 + b420 = 8 + 4 + 2 + 1 = 15 y2 = b523 + b622 + b721 + b820 = 8 + 0 + 0 + 0 = 8 y3 = b923 + b1022 + b1121 + b1220 = 8 + 4 + 0 + 1 = 13 y4 = b1323 + b1422 + b1521 + b1620 = 8 + 4 + 0 + 1 = 13 . 1 0 1111 1000 1101 1101 0100 0010 01 01 1001 1111 0001 …..Generadores de Tausworthe ¿Cómo se transforma la sucesión {bi} en números aleatorios U(0.. Aunque la correlación de primer orden (un número con el siguiente) es casi cero se sospecha que algunos generadores pueden proporcionar valores elevados de correlaciones de orden elevado. Lenguajes de simulación 2004-2005 Generadores de Tausworthe Ventajas: Son independientes del ordenador y del tamaño de la palabra que utilice... No todos los polinomios primitivos tiene las mismas cualidades. . pero pueden tener un comportamiento local poco satisfactorio.. pero no es el periodo de la secuencia de números. Consideremos {bi} b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13. b41 b42 1 1 1 1 1 0 0 0 1 1 0 1 1 . . .. Se pueden obtener secuencias de longitud considerable.. ... y así sucesivamente ⎧15 {u i }10 . . . .⎬ ⎩16 16 16 16 16 16 16 16 16 ⎭ Comienza la repetición u1 = u2 = y1 2 y2 2l y3 l = u3 = 2l 15 16 8 = 16 13 = 16 El periodo de los bits es 31 (2q – 1). Las primeras versiones de GPSS/H utilizaban un generador de Tausworthe.....1)?.... En general proporcionan malos resultados en las pruebas de rachas hacia arriba y hacia abajo... como 2251-1 > 10156 e incluso mayores en micros de 16 bits. Inconvenientes: La secuencia obtenida puede tener buenos resultados en las pruebas sobre el ciclo completo.. i =1 = ⎨ 8 13 13 4 2 5 9 1 ⎫ ... Lenguajes de simulación 2004-2005 .

Prueba de autocorrelación. Prohibir los valores pares. Prueba de poker. No utilizar semillas aleatorias. En general.Selección de la semilla En casi todos los generadores es necesario disponer de una semilla. – – – – – Prueba de frecuencia.1]. los generadores suministrados comercialmente ya han pasado por algunas de estas pruebas. Reutilizar las semillas para sucesivas réplicas de la misma simulación. Se supone que la selección de la misma no debe afectar a los resultados de la simulación. No subdividir una serie. Lenguajes de simulación 2004-2005 Cuando se prueba la uniformidad las hipótesis son: . Prueba de saltos.1] La hipótesis nula supone que la secuencia de números obtenidos está distribuida uniformemente en el intervalo [0. Utilizar series no solapadas (cada serie precisa una semilla separada). H0: Ri ∼ U[0. Dependiendo de las características del generador (si es de periodo total o no) se han establecido una serie de normas a la hora de seleccionar la semilla. Pruebas de series.1] H1: Ri ≠ U[0. Producen problemas como: • la simulación no se puede reproducir • no es posible garantizar que seres vivos no se solapen Lenguajes de simulación 2004-2005 Pruebas de aleatoriedad Para comprobar si los número aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas. – – – – – – No utilizar el cero.

= max1 ≤ i ≤ N {R(N) .05 y N = 5 el valor de la tabla es 0.26 D.05 0.14.44...13 D+ = max1 ≤ i ≤ N {i/N . SN(x).RN la función de distribución acumulada. 0.14 0.(i-1)/N } D = max(D+..15 0. R2. .R(i) R(i) . está definida por: SN(x) = (número de R1.(i-1)/N 0. . Lenguajes de simulación 2004-2005 .(i-1)/N }= 0.Pruebas de frecuencia La prueba básica a la que se debiera someter cualquier nuevo generador de números aleatorios es la de uniformidad. SN(x).R(N) } D. 0. Lenguajes de simulación 2004-2005 Prueba de Kolmogorov-Smirnov Ejemplo de prueba de Kolmogorov-Smirnov: Sean 5 números 0..16 0. R2.81 0. de la muestra de N observaciones.R(N) } = 0.05.05 0.SN(x)| Forma de obtenerlo: Se ordenan los datos de menor a mayor R(1) ≤ R(2) ≤ . Existen dos métodos para realizar esta prueba: – – Prueba de Kolmogorv-Smirnov.565 por tanto no se puede rechazar la hipótesis nula. R(i) I/N I/N .80 0.= max1 ≤ i ≤ N {R(N) .21 0. Por definición: F(x) = x para 0 ≤ x ≤ 1 Para una muestra de R1..40 0. ≤ R(N) Se calcula: Se obtiene D+ = max1 ≤ i ≤ N {i/N .21 Por tanto D = 0.26.RN que son ≤ 1)/N D = max |F(x) .20 0.00 0.. Prueba de chi-cuadrado.93 1. Para α = 0. 0.44 0..26 0.D-) Se compara con el valor de la tabla para un α dado. Kolmogorov-Smirnov compara la función de distribución acumulada F(x) de la distribución uniforme con la empírica.04 0.81.07 0. 0.93 generados por algún método..60 0.

. pj = F(aj)-F(aj-1)) 2 Se construye el test estadístico como χ2 = ∑ j =1 k ( N j − np j ) np j Si H0 es verdadera.aj) y sea pj la probabilidad de que un resultado esté en [aj-1. Prueba de chi-cuadrado para variables aleatorias U(0. Ejemplo: Sea el generador de congruencias multiplicativo Zn=AZn-1 mod M con A=630360016. npj es el número esperado de n Xi’s que caen en el intervalo jésimo. Lenguajes de simulación 2004-2005 Prueba de Chi-cuadrado (II) Si H0 es verdadera. U2. 0. Se define la hipótesis nula como H0: La Xi’s son variables aleatorias idénticamnete distribuidas con una función de distribución F. entonces la distribución converge a una distribución de chicuadrado con k-1 grados de libertad cuando n →∞.1.Un.. Sea Nj el número de variables aleatorias Ui en le intervalo j-ésimo. se rechaza H0 si χ 2 > χ k2−1.aj) (es decir.[a1.1−α distribución de chi-cuadrado con k-1 grados de libertad.. y se divide (0. Si se generan n=215=32768 números aleatorios (Ui).1−α donde χ k2−1.. entonces χ 2 = 4141 como χ 4095 .1) en k subintervalos de igual longitud y se generan U1. Por tanto.a2). Lenguajes de simulación 2004-2005 . 2 k Una forma más simple de la expresión es: χ2 = ∑ j =1 (O j − E j ) Ej donde Oj es el número observado en el intervalo j y Ej es el número esperado. Se divide el rango de F en k intervalos adyacentes [a0.ak) Sea Nj = número de Xi’s en [aj-1.a1).[ak-1.4 No se rechaza la hipótesis H0 al nivel α=0.….Prueba de Chi-cuadrado (I) Sean X1. Entonces: es el cuantil 1-α de la k k ⎛ n⎞ χ = ∑⎜ N j − ⎟ n j =1 ⎝ k⎠ 2 2 Se recomienda elegir k≥100 y n/k ≥5.9 = 4211. X2.1) en k=212=4096 2 subintervalos.…Xn n observaciones. M=231-1 y semilla Z0=1973272912.1): Se divide (0.

23 +0.55 comparado con el valor crítico N ( 13 .28 0.93 +0. El valor estadístico a comprobar es: Z0 = (a .3.+ .18 +0.82 -0.23) El supuesto de independencia no puede ser rechazado Lenguajes de simulación 2004-2005 .Pruebas de secuencias (I) Una secuencia (o serie) es un conjunto de eventos semejantes..29) / 90 Para N > 20 la distribución de a se aproxima razonablemente a una distribución normal. la media y la varianza de a vienen dadas por: µa = (2N .42 0.32 0.+ .+ -+ + .+ .55 0.43 0.es: .µa )/ σa = (a – [(2N .27 0.69 -0.12 0.45 0. σa 2).19 -0.81 La secuencia de 14 + o . Ejemplo: Sean los 15 números siguientes: -0.seguidos.67 0.74 0. cada una puede ser de una longitud cualquiera.98 0.32 -0.+ + .15 +0..+ + + .65 +0.1) / 3 σa 2= (16N .01 0.22 0..87 +0.33 0.20 0. precedidos o seguidos por otro de distinto tipo.99 0.+ Hay 8 secuencias de + o .30 +0. En el caso de números aleatorios puede ser que el número sea superior o inferior al anterior.+ a=14 µa = 13 σa =3.24 +0.58 .45 -0.1) / 3])/ SQR((16N .12 0.31 0.23 Z = 0.+ + + . Si N es el número de números aleatorios (en este caso 15) y a es el número total de secuencias.23 Z = (14 -13) / 3.16 0.+ + + .29) / 90) Lenguajes de simulación 2004-2005 Pruebas de secuencias (II) Sea la siguiente secuencia de 20 números aleatorios 0. N(µa .79 0.

'.75 0.96 Lenguajes de simulación 2004-2005 Ejemplo..') Representación gráfica de una matriz de 10..10000.54 = −1.36 0.57 0.+ .23 0..+ + .07 Z 0.10000.68 0.01 0..94 0.04 0.41 0. Matlab x=unifrnd(0.31 0.91 0.53 0...+ .+ + .27 0..63 0.74 0.45 0.1) y=unifrnd(0.83 0.18 0.73 0.47 0.72 0.55 0.y.95 0.69 0..18 0.82 0.32 0.01 0.+ + + + + + + .025 = 1.16 0.+ + -2n n ⎞ b−⎛ ⎜ 1 2 N ⎟ − 12 ⎝ ⎠ 2n1 n 2 (2n1 n 2 − N ) 2n1 n 2 1 2 Z0 = 1 σb = µb = + Los valores que se obtienen son: 2 ⎡ 2n1 n 2 (2n1 n 2 − N ) ⎤ 2 N (N − 1) N 2 ⎢ ⎥ N 2 (N − 1) ⎢ ⎥ ⎣ ⎦ N = n1 + n2 = 40 b = 17 n1 = 18 n2 = 22 µb = 2(18)(22)(2(18)(22) − 40) 2(18)(22) 1 2 = 20.1.3 + = 20.1) plot(x..000 de números aleatorios generados por Matlab Lenguajes de simulación 2004-2005 .3 σ b = (40) 2 (40 − 1) 40 2 Z0 = 17 − 20..+ .1..08 0.3 9.Pruebas de secuencias (III) Sea la siguiente secuencia de 40 números aleatorios 0.13 0.62 0.36 0.02 0.+ + .89 0.54 0.29 Aplicando la prueba de rachas por encima y por debajo de la media se obtiene: .42 0.19 0..000x10.28 0.

http://www.at/generators/ http://csrc.gov/rng/rng6_4.umontreal.keio. Nelson. Simulation Modeling and Analysis (third edition).ac.nist. El capítulo 7 está dedicado al tema. Discrete event system simulation (third edition).math.html Página del algoritmo Mersene Twister de Matsumoto Lenguajes de simulación 2004-2005 .mhhe. Nicol.ca/~lecuyer/ Página personal de Pierre L’Ecuyer http://www.jp/~matumoto/MT2002/emt19937ar. Carson.mat. http://www.iro.Referencias Libros: Banks.html Documentación y distintos tipos de pruebas para números aleatorios.bcnn. http://www.ac. El capítulo 7 trata sobre generación de números aleatorios.sbg.net Law and Kelton.com/lawkelton http://random.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->