Курсовая работа: Програмне генерування РВП0 1
і т.д.
У системах ЕОМ типу IBM широко застосовується метод Хатчинсона. Двійкові числа в цих машинах подаються 32 розрядами: 31 розряд містить значущі цифри, крайній зліва розряд показує знак числа. За модуль беруть множник Максимальна довжина послідовності випадкових чисел дорівнює m – 1; 0,46566113. Запишемо програму цього датчика випадкових чисел мовою фортран.
SUBROUTINE RAND (N 1, N, R )
1. N = 1220703125 ´ N1
2. IF(N)3, 4, 4
3. N = N + 2147483647 + 1
4. NI = N
5. R = N
6. R = R ´ 0.4656613E – 9
7. RETURN
8. END
У програмі — ціле число між 1 і — випадкове число з плаваючою крапкою (оператори 5 і 6 дають результати з плаваючою крапкою). Від’ємне число N може виникнути після команди 1 у результаті відкидання старших розрядів, тому оператор 3 змінює його значення.
Щоб дістати кілька послідовностей випадкових чисел РВП [0, 1], необхідно ввести різні значення початкових чисел: , а щоб повторити початковий відрізок будь-якої послідовності, достатньо всередині основної програми присвоїти відповідній змінній N 1її початкове значення і повторити весь цикл звертань до генератора.
Описаний генератор грунтовно перевірявся і показав досить добру якість випадкових чисел.
Мішані конгруентні методи
Побудова мішаних когруентних методів грунтується на залежності
xi +1 º (axi + c ) (mod m ),
де с — деяка константа.
Адитивний конгруентний метод
В основу цього методу покладено рекурентне співвідношення
Існують і складніші адитивні методи.
Переваги програмного методу:
1) місця в оперативній пам’яті займає мало (близько десяти машинних команд);
2) можна повторити спроби;
3) забезпечується одноразова перевірка якості випадкових чисел;
4) не потрібні зовнішні пристрої.