Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vstyp_ms.doc
Скачиваний:
2
Добавлен:
28.09.2019
Размер:
814.08 Кб
Скачать

228. Програмні способи одержання рівномірної випадкової послідовність чисел: метод серединних квадратів.

При програмному способі наступне випадкове число дістають за допомогою рекурентного співвідношення = . Генеровані так випадкові числа називаються псевдовипадковими, оскільки між двома сусідніми числами існує залежність. Функцію вибирають складною, що включає логічні перетворення, аби згадана залежність практично не впливала на результат. Один із перших алгоритмів утворення випадкових чисел за допомогою рекурентного співвідношення — метод серединних квадратів.

Нехай m-розрядне двійкове число (0 < < 1), причому — парне. Загальний вигляд : де коефіцієнти набувають значення 0 або 1. Квадрат цього числа: Виокремимо середні розряди цього числа і покладемо : Як показали статистичні випробування, утворювані таким способом випадкові числа мають розподіл, близький до РВП [0, 1]. Очевидний недолік методу серединних квадратів - у разі відсутності заміни нульового значення випадкового числа, котре може з’явитися в результаті наступної спроби, якимось іншим, усі наступні числа послідовності будуть нулями.

229. Програмні способи одержання рівномірної випадкової послідовність чисел: мультиплікативний конгруентний метод.

Випадкове число  РВП [0, 1] дістаємо перетворенням цілих чисел , що визначаються з допомогою рекурентного виразу (1), де a і m — невід’ємні цілі числа.

Згідно з (1) для знаходження наступного випадкового числа достатньо виконати такі дії: 1) взяти останнє випадкове число ; 2) помножити його на коефіцієнт a; 3) добуток поділити на модуль m; 4) остачу від ділення вважати шуканим випадковим числом ; це буде одне з цілих чисел 0, 1, 2, 3, ..., m – 1. Для генерування послідовності випадкових чисел потрібно мати початкове число , множник a і модуль m. При виборі a і m потрібно виявити певну обережність. Коли a = 1, то = при будь-якому і. Коли = 0, то = 0 при довільному і.

Очевидно, що будь-який генератор псевдовипадкових чисел може дати лише скінченну множину цілих випадкових чисел; після чого послідовність повторюватиметься. Період (довжина) послідовності залежить від розрядності ЕОМ та обраного модуля, а статистичні властивості — від вибору початкового числа та множника.

Отже, обирати потрібно так, щоб забезпечити максимальний період і мінімальну кореляцію (автокореляцію). У системах ЕОМ типу IBM широко застосовується метод Хатчин­сона. Двійкові числа в цих машинах подаються 32 розрядами: 31 розряд містить значущі цифри, крайній зліва розряд показує знак числа. За модуль беруть множник Максимальна довжина послідовності випадкових чисел дорівнює m – 1; 0,46566113 . Щоб дістати кілька послідовностей випадкових чисел РВП [0, 1], необхідно ввести різні значення початкових чисел: , а щоб повторити початковий відрізок будь-якої послідовності, достатньо всередині основної програми присвоїти відповідній змінній її початкове значення і повторити весь цикл звертань до генератора.

230. Способи програмної реалізації імітаційних моделей, їх переваги та вади.

Програму для ЕОМ можна розробити двома способами:

1) звичайними засобами програмування із застосуванням проблемно-орієнтованих (фортран, паскаль, кобол і т. ін.) або машинно-орієнтованих мов (мови Асемблеру, СІ);

2) з допомогою спеціалізованих мов моделювання.

Перший спосіб використовується, коли імітаційна модель не дуже складна, застосовується нечасто і програмується спеціалістами, котрі не мають значного досвіду роботи з імітаційними моделями. Проте при цьому програмістові доводиться заново складати підпрограми стандартних процедур, використовуваних у всіх імітаційних моделях (генерування випадкових змінних, статистична обробка даних, розміщення інформації всередині машинної пам'яті, складання основної програми, яка забезпечує правильну Черговість подій та просування імітаційного процесу по осі часу). Отже, застосування універсальних мов програмування має і переваги (мінімум обмежень на вхідний формат, значна поширеність), і недоліки (чималі витрати часу на програмування та налагодження програм). При машинному моделюванні спеціалізовані мови порівняно з універсальними мають такі переваги; менші витрати на програмування; ефективніші методи виявлення помилок; стислість і точність вираження понять, котрі характеризують імітаційні процеси; можливість заздалегідь створювати для користувачів стандартні підпрограми, що можуть використовуватися в будь-якій імітаційній моделі; автоматичне формування певних типів даних; зручність нагромадження та подання зображення даних; забезпечення керування та контролю, за розподілом машинної пам'яті в ході імітаційного моделювання. Мови моделювання реалізуються, як правило, з допомогою універсальної провідної програми. Під її керівництвом виконується кожна імітаційна модель. Провідна програма автоматично реалізує типові для імітації службові операції: переміщує в потрібні моменти системний час; реєструє плановані події; організує реалізацію подій, що настають; динамічно розподіляє пам'ять обчислювальної машини і т.ін. Спираючись на перелічені можливості провідної програми, користувач мови моделювання може розробляти модель, знаючи таке: системний час рухається автоматично; будь-яка запланована подія відбудеться за відповідних умов; довільна кількість одночасних подій може бути реалізована і т.гі. Отже, можна сконцентрувати всю увагу на опису об'єктів системи, не завантажуючи модель допоміжними елементами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]