λμ Random Number
μλ¬΄λ° κ·μΉ μμ΄ λ¬΄μμλ‘ μΆννλ μμμ μ, μμΈ‘ λΆκ°λ₯ν μ
μ¬λμ μ‘κ°μ΄λ μ°©μκ³Ό λΉμ·ν μ¬κ³ λ₯Ό νλ‘κ·Έλ¨μΌλ‘ λνλ΄λ νλμ λ°©λ²
μ μ΄μ면체 ννμ λμ μ£Όμ¬μλ₯Ό λμ Έ μμμ μ«μλ₯Ό μ»μ μ μλ€.
μμ¬ λμ Pseudo-Random Number
νλ‘κ·Έλ¨μΌλ‘ λμλ₯Ό μμ±νλ μμ μ¬μ©ν΄μ μ°κ΄μ±μ΄ μλ λ―ν μμ΄μ μμ±.
μ§μ ν λμκ° μλκΈ° λλ¬Έμ μμ¬(Pseudo) λμλΌκ³ νλ€.
1. μ΄κΈ°κ°(Seed)μμ μΆλ°
2. νΉμ 곡μμ ν΅ν΄ μ μμ±
3. κ·Έ μλ₯Ό λ€μ μ΄κΈ°κ°μΌλ‘ μ§μ
μΌλ°μ μΌλ‘ μ ν ν©λλ²(Linear Congruential Generator, LCG) μκ³ λ¦¬μ¦μ μ΄μ©ν λμ μμ±μ λ§μ΄ μ΄μ©νλ€.
C μΈμ΄μ κ²½μ° μΌλ°μ μΌλ‘ μ¬μ©νλ stblib.h μ ν¬ν¨λμ΄μλ srand(), rand() ν¨μ λ±μ΄ μ΄λ‘ ꡬνλμ΄ μλ€.
μ₯μ : κ³μ° 곡μμ΄ κ°λ¨νμ¬ λΉ λ₯΄κ³ μ΄ν΄νκΈ° μ¬μ°λ©°, μ μ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νλ€.
λ¨μ : λμ λ°λ³΅ μ£ΌκΈ°κ° ν΄λΉ μ»΄ν¨ν°μμ μ°μ° κ°λ₯ν μ΅λ λ³μκ° λλ€. (64bit λ¨Έμ μΌ κ²½μ° 264)
1μ°¨μμμλ λμ λΆν¬κ° κ· μΌνμ§λ§ nμ°¨μ μμμλ κ· μΌνμ§ μμ ν¨ν΄μ΄ λ°μνκ² λλ€. (μλ κ·Έλ¦Ό 1 μ°Έμ‘°)
λ©λ₯΄μΌ νΈμμ€ν° Mersenne Twister
1997λ , Makoto Matsumotoμ Takuji Nishimuraμ μν΄ λ§λ€μ΄μ§ μμ¬ λμ μμ± μκ³ λ¦¬μ¦.
λμμ λ°λ³΅ μ£ΌκΈ°κ° λ©λ₯΄μΌ μμ(Mersenne Prime)λ‘ μ΄λ£¨μ΄μ§λ€.
Mersenne Number
Mersenne Prime
λ©λ₯΄μΌ μ μ€ μμμΈ μ (3, 7, 31, 127, 8191, 131071, 524287, β¦)
β μ΄νκ³μμ ν©
β‘ μ§μκ° νμμμ = p μ΄λ©΄ μμΈμ νν 2pk + 1λ‘ λνλΌ μ μλ€.
μ£Όλ‘ μ£ΌκΈ°κ° 219937-1 μΈ MT19937(32bit) μ¬μ©. (for 64bit, MT19937-64)
623μ°¨μκΉμ§ λμΌλΆν¬μ¨μ μ μ§νλ©° (ν¨ν΄μ΄ μμ±λμ§ μμΌλ©°) λΉνΈμ°μ°λ§μΌλ‘ ꡬνμ΄ κ°λ₯ν΄ μλκ° λΉ λ¦.
μ μ΄λ 624κ°μ μ«μλ₯Ό μ μ₯ν μ μλ 곡κ°μ΄ νμνκΈ° λλ¬Έμ μ©λμ ν° νΈμ΄λ€.
μμ±λλ λμμ νμ§μ μ’μ§λ§ μνΈνμ μΌλ‘ μμ ν κ²μ μλλ€. λμμ μ£ΌκΈ° λ° λ²μλ₯Ό μκ³ μμ λ μ νν μμ λμλ§μΌλ‘ νμ¬μν λ° κ·Έ λ€μ λμ¬ λμκ° μμΈ‘ κ°λ₯νκΈ° λλ¬Έ.
- http://p7kell.wikidot.com/random-number [λ³Έλ¬ΈμΌλ‘]
'νλ‘κ·Έλλ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[tbd] λ³λ ¬ μ»΄ν¨ν Parallel Computing (0) | 2015.03.05 |
---|---|
μ΄μ 체μ μ λΆλ₯ (0) | 2015.03.03 |
λ°μ΄ν° νμ Data Type (0) | 2015.03.03 |
κΈ°μλ² λ° μ°μ μ°μ° Number system and Arithmetic Operation (0) | 2015.03.03 |
[tbd] λ©λͺ¨λ¦¬ μμ (0) | 2015.03.03 |