ПРИБЛИЖЁННОЕ ВЫЧИСЛЕНИЕ ПЛОЩАДИ МЕТОДОМ МОНТЕ-КАРЛО Из кн. «Приближённое вычисление площади методом Монте-Карло» — метод...
147 downloads
311 Views
238KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ПРИБЛИЖЁННОЕ ВЫЧИСЛЕНИЕ ПЛОЩАДИ МЕТОДОМ МОНТЕ-КАРЛО Из кн. «Приближённое вычисление площади методом Монте-Карло» — методических указаний по курсу «Информатика» для студентов направления 550200 «Автоматизация и управление» и специальности 210100 «Управление и информатика в технических системах». — Т.: Изд-во ТПУ, 1998. — 6 с.
Цель работы Целью работы является изучение метода Монте-Карло (метода статистических испытаний) на примере вычисления площади фигуры и получение навыков в использовании встроенных функций генерации случайных чисел на Паскале.
Метод Монте-Карло Метод Монте-Карло — численный метод, основанный на воспроизведении большого числа реализаций случайного процесса, специально построенного по условиям задачи. В настоящее время этот метод применяется при исследовании функционирования сложных систем, к которым относятся разнообразные производственные и информационные системы, автоматизированные системы управления, многопроцессорные, вычислительные системы, некоторые биологические, экономические системы. При решении подобных задач ранее, без применения компьютеров, источником случайных чисел служили различные эксперименты: бросание монеты или кубика, верчение рулетки и т.п. С именем города в княжестве Монако, известного своими игорными домами, и связано происхождение названия метода.
Алгоритм вычисления площади фигуры Рассмотрим задачу определение площади фигуры, например, представленной на рисунке 1. Фигура может быть любой, но обязательно должны быть известны: - границы фигуры, в виде аналитического выражения или совокупности таких выражений и логических условий; - площадь в виде прямоугольника, часть которой занимает исследуемая фигура.
Рисунок 1. К задаче определения площади
В нашем примере граница фигуры определяется уравнениями: ⎧ x = 0 Kπ ; ⎨ ⎩ y = 0K sin( x). Неизвестная пока нам площадь этой фигуры составляет часть прямоугольника площадью S = 1× π = π . Алгоритм решения задачи: 1. Генерируем случайное число x1 в диапазоне от 0 до π , а также случайное число y1 в диапазоне от 0 до 1. Получаем случайную точку внутри прямоугольника с координатами ( x1 , y1 ) . Эта точка может попасть в исследуемую фигуру, а может и не попасть. 2. Проверяем принадлежность точки
( x1 , y1 )
к исследуемой фигуре. Если
попадания нет, т.е. y1 > sin ( x1 ) , то переходим к пункту 1 и генерируем координаты новой точки ( x2 , y2 ) . Если попадание есть, т.е. y1 < sin ( x1 ) , то необходимо зафиксировать, запомнить это попадание и снова перейти к пункту 1. В итоге мы должны считать число попаданий. Примечание: попадание точки точно на границу фигуры y1 = sin ( x1 ) можно отнести как к первому, так и ко второму исходу — это воля экспериментатора или автора программы. 3. Предыдущие пункты следует повторить достаточно большое число раз. От этого, в конечном итоге, зависит точность вычислений. Для нашей задачи это число N может быть от 1000 до 3000 раз. 4. После проведения N повторов имеем несложную пропорцию: общее число опытов соответствует всей площади прямоугольника, равной π , а число попаданий P будет соответствовать неизвестной площади S исследуемой фигуры. Отсюда P S = ×π . N Блок-схема алгоритма приведена на рисунке 2.
Рисунок 2. Блок-схема алгоритма
Генерация случайных чисел Генерация случайных вещественных чисел (REAL) в диапазоне от 0 до 1 осуществляется с помощью функции RANDOM: x:=random;
Если необходимо генерировать случайные числа в другом диапазоне, то необходимо преобразовать это выражение с помощью операций смещения и масштабирования. Например, для того, чтобы получить случайное число в диапазоне от 10 до 12, необходимо написать: x:=10+2*random; Для генерации целых случайных чисел (INTEGER) в диапазоне от 0 до N используется функция RANDOM с аргументом: x:=random(N); Для смены базы генерации случайных чисел, чтобы при каждом новом прогоне программы числа были другие, используется процедура RANDOMIZE. Обращение к этой процедуре идёт до обращения к функциям RANDOM, например: begin randomize; for i:=1 to N do begin x:=random; y:=random; end; end.
Программа работы Составить и отладить программу определения площади фигуры методом МонтеКарло в соответствии с индивидуальным заданием. Представить алгоритм решения задачи, детально показав операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №1 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №2 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №3 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №4 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №5 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №6 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №7 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №8 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №9 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.
Лабораторная работа №4 «Приближённое вычисление площади методом Монте-Карло»
Вариант №10 ЗАДАНИЕ §1 Составить и отладить программу определения площади представленной ниже фигуры методом Монте-Карло.
§2 Представить отчёт по лабораторной работе. В отчёт должен быть включён алгоритм решения задачи, детально показывающий операции определения принадлежности случайной точки к исследуемой фигуре.