Page 57 - 2579
P. 57

підібрані  значення  іноді  називають  магічними
                  числами.
                        Наведений  приклад  ілюструє  й  те,  що
                  конгруентна послідовність завжди є циклічною, тобто
                  вона  починає  повторюватися  через  певну  кількість
                  випадкових  чисел.  Кількість  значень,  після  яких
                  випадкові     числа    починають      повторюватися,
                  називається повним періодом генератора і є основним
                  його параметром. Значення повного періоду залежать
                  від розрядності комп'ютера, а також від значень т, с, а і
                  х 0  .  Існує  теорема,  яка  визначає  умови  існування
                  повного періоду генератора, а саме:
                      -  числа  с  і  т  повинні  бути  взаємно  простими,
                  тобто мати взаємний дільник 1;
                      - значення    b=  а  -  1  має  бути  кратним  q  для
                  кожного простого q, бути дільником т;
                    - значення b має бути кратним 4, якщо m кратне 4.
                        Достатність  цих  умов  уперше  було  доведено
                  Халлом (Hull) і Добеллом (Dobell).
                        Якщо с > 0, то генератор називається мішаним,
                  а якщо с = 0 — мультиплікативним.
                        Розглянемо,  як  потрібно  вибирати  параметри
                  лінійного  конгруентного  генератора,  щоб  отримати
                  послідовність  з  повним  періодом.  Для  отримання
                  такої послідовності необхідно вибирати значення т =
                   g
                  2  - 1, де g - довжина розрядної сітки комп'ютера. Для
                  32-розрядного комп'ютера т — найбільше ціле число,
                  яке  може  бути  відтворене  в  ньому,  дане  число
                              31
                  дорівнює  2   -  1  =  2147483647  (один  розряд
                  відводиться  під  знак  числа).  У  цьому  разі  ділення
                  X i+1/m виконувати не обов'язково. Якщо в результаті
                  роботи  генератора  буде  отримане  число  х і+1,  яке
                  більше ніж те, що може бути відтворене в комп'ютері,
                  виникне переповнення розрядної сітки. Це призведе


                                                                    51
   52   53   54   55   56   57   58   59   60   61   62