Vernute Posted November 13, 2009 at 04:54 PM Report Share #296019 Posted November 13, 2009 at 04:54 PM Gostaria de saber, se possível, qual a opinião sobre um algoritmo gerador de números aleatórios em vírgula flutuante, descrito em: http://www.number.com.pt/port.html ou http://www.number.com.pt/index.html Obrigado Vernute Link to comment Share on other sites More sharing options...
Warrior Posted November 14, 2009 at 09:56 AM Report Share #296139 Posted November 14, 2009 at 09:56 AM Aviso desde já que não são um perito nem nada que se pareça na área, mas a minha opinião é esta: Em lado nenhum referes o conteúdo de bn. É a parte inteira de Xn? Vou assumir que sim. Não me parece demonstrada a periodicidade. Repara que não há qualquer impedimento que bn seja igual a bm para n!=m. (segundo o que assumi acima, o valor de B flutua) Por exemplo: A0 = 1.333 => B0 = 1, X0 = 0.333 A1 = 0.333*1.333 = 0.443889 => B1 = 0, X1 = 0.443889. Para n != m, Bn pode ser igual a Bm, assim como Xn e Xm. Falta também demonstrar que os resultados são uniformes no intervalo }0, 1{, não chega demonstrar que os bytes são aleatórios. Link to comment Share on other sites More sharing options...
Vernute Posted November 14, 2009 at 11:13 AM Author Report Share #296141 Posted November 14, 2009 at 11:13 AM Warrior... Obrigado pelo tua opinião. Quanto a b(0), ele é um número inteiro qualquer, por exemplo, 1; 123; 45364 ou outro qualquer, não necessariamente a parte inteira de x(n) e consequentemente, b(n) vai crescendo com (n) como podes ver abaixo: b(1)=b(0)+1 b(2)=b(0)+2 b(3)=b(0)+3 ... Exemplo: Se n=10; m=23 e b(0)=100 Então para (n) temos: b(10)=100+10=110 E para (m): b(23)=100+23=123 Como a condição é, (m) ser sempre maior que (n), implica sempre que b(m) seja também sempre maior do que b(n). Logo, como b(m)>b(n) e necessariamente diferentes entre si, implica que os números seguintes ao número comum e repetido nas séries (n) e (m), sejam também eles diferentes entre si. Talvez a página em inglês, seja mais esclarecedora, pois tem exemplos em código, que penso serem mais explicativos. Quanto à demonstração matemática da uniformidade na distribuição do intervalo }0,1{, de facto não a fiz. E não a fiz em virtude de a mesma estar resolvida (penso) com os resultados obtidos pelos testes estatísticos efectuados com os programas ENT e DIEHARD, os quais no seu conjunto, já a contemplam. Um abraço. Link to comment Share on other sites More sharing options...
Warrior Posted November 14, 2009 at 11:24 AM Report Share #296142 Posted November 14, 2009 at 11:24 AM Não existe um erro no pseudo-código? É usado tanto o "a" como o "x", parecem-me equivalentes. Link to comment Share on other sites More sharing options...
Vernute Posted November 14, 2009 at 11:32 AM Author Report Share #296146 Posted November 14, 2009 at 11:32 AM Correcto. No código onde se lê: a=0.2353 deverá ler-se x=0.2353 Mais tarde irei corrigir o texto. Obrigado. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now