Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания по МПИ 6 семестр.doc
Скачиваний:
92
Добавлен:
21.03.2015
Размер:
1.85 Mб
Скачать

10. Комбинаторика и теория вероятностей

В некоторых задачах этого раздела предусматривается использование датчиков случайных чисел. Иногда такие датчики реализуются аппаратно, однако чаще используются программные датчики, в которых псевдослучайные числа вырабатываются детерминированным алгоритмом, но по своим характеристикам они «похожи» на случайные. В языках программирования такие датчики носят имя RANDOM, RND и т. п.

Если ни в ЭВМ, ни в языке нет датчика, можно воспользоваться простейшим алгоритмом, например: . Здесь для— очередное псевдослучайное число, равномерно распределенное на отрезке [0; 1];fl(x)дробная часть числа х.

Выражение дает действительное число, равномерно распределенное на отрезке[а; b], а выражение к = — целое число, равновероятно выбранное из множества .Здесьent(x) —целая часть числа х.

С помощью датчиков случайных чисел реализуется широко известный метод статистических испытаний, или метод Монте-Карло, для решения многих задач. Суть метода состоит в следующем. Пусть в прямоугольнике на плоскости: axb; cyd задана некоторая фигура М и требуется найти ее площадь. В прямоугольнике выбирается п случайных точек («бросков»); пусть т из них попало в область М. Площадь фигуры оценивается как — площадь прямоугольника; причем точность оценки будет тем выше, чем больше число испытаний п (погрешность квадратично уменьшается с ростом числа испытаний).

Для реализации одного «броска» достаточно получить случайные х и у — координаты точки, лежащей в прямоугольнике, и проверить, не попала ли точка в исследуемую область.

Пример. Рассмотрим задачу 10.18 о случайном расположении заданного количества слонов на шахматной доске при условии, что ни один из них не угрожает другим. Решение лежет выглядеть следующим образом:

Задачи по теме «Комбинаторика и теория вероятностей»

10.1. (7 б.) Из массива А(п) выбрать случайным образом т различных элементов и поместить их в массив В(т). Рассмотреть случаи: а) т<<п; б) тп.

10.2. (8 б.) «Перемешать» массив Т(т), переставив его элементы случайным образом. В массиве К(т) запомнить позиции элементов до перемешивания.

10.3. (7 б.) «Перемешать» матрицу Z(m,n), переставив все ее элементы случайным образом.

10.4. (8 б.) Переставить все строки и столбцы матрицы F(m, n) случайным образом. В массивах К(т) и L(n) запомнить места, которые каждая строка и каждый столбец занимали до перестановки.

10.5. (9 б.) Задан массив К(т) попарно различных целых чисел. Получить все перестановки этих чисел.

10.6. (9 б.) Для заданного п получить все возможные перестановки чисел 1,2,..., п.

10.7. (8 б.) Для выборки случайных чисел, содержащейся в массиве А(п), построить гистограмму распределения, содержащую т интервалов.

Для справки. Гистограммой (или диаграммой) распределения называется массив из т элементов, значение каждого из которых равно количеству (или доле из общего числа) чисел из Л, попавших в соответствующий интервал. Ширина интервала определяется как (amax -amin)/m.

10.8. (7 б.) Массив Z(n) разбить на т фрагментов случайной длины. Фрагменты записать в матрицу А, содержащу т строк.

10.9. (9 б.) Массив Х(п) разбит на т фрагментов. Длины фрагментов собраны в массиве К(т). Переставить фрагменты случайным образом и преобразовать соответственно массивы Х и К.

10.10 (8 б.) На плоскости заданы своими целочисленными координатами п точек. Найти всевозможные группы по 3, 4,... точки, лежащие на одной прямой.

10.11 (7 б.) Задан список п абитуриентов. Сформировать из них случайным образом

групп так, чтобы количество абитуриентов в разных группах отличалось не более чем на 1 и не превышало 25. Вместо фамилий можно использовать шифры.

10.12 (9 б.) Детерминированная задача о раскрое. Стержень длиной l0 нужно разрезать на стержни длиной , /2,..., lk. Количество отрезков каждого типа не ограничено. Найти все способы раскроя и вычислить неиспользованный остаток в каждом способе.

10.13 (9 б.) Вероятностная задача о раскрое. Как и в задаче 10.12, найти т различных случайно выбранных способов раскроя.

10.14 (9 б.) Для заданных тип найти все сочетания по т из чисел 1,2,..., n.

10.15 (14 б.) Задача о ранце. Известен вес ,p2,…ркаждого из n предметов. Как разместить их в наименьшем числе, если грузоподъемность каждого рюкзака равна q? Например: рюкзаков q = 9; Р = (4; 4; 3; 3; 2; 2).

10.16 (6 б.) Матрицу А(т,п) случайным образом заполнить разными целыми числами от 1 до тп.

10.17 (6 б.) Латинский квадрат. Заполнить квадратную матрицу К(п,п) случайным образом числами 1,2,..., и так, чтобы в каждой строке и в каждом столбце не было одинаковых чисел.

10.18 (5 б.) Расположить на шахматной доске случайным образом т 8 слонов так, чтобы они не угрожали друг другу (слон бьет по диагонали).

10.19 (9 б.) Морской бой. Напечатать заготовку для игры в «морской бой», то есть расположить случайным образом 15 «линейных» кораблей (1 — 5-клеточный, 2 — 4-клеточных, 3 — 3-клеточных, 4 — 2-клеточных, 5 — 1-клеточных) на поле размером 10x10 так, чтобы они не касались друг друга.

10.20 (6 б.) Из массива А(п) удалить т наудачу (случайно) выбранных элементов. Порядок следования оставшихся элементов сохранить.

10.21 (6 б.) Для заданной функции у=f(x) с известной первообразной методом Монте-Карло вычислить определенный интеграл

Оценить зависимость статистической погрешности от числа испытаний п.

10.22 (7 б.) Утверждается, что отношение объемов гиперсферы в R и описанного вокруг нее гиперкуба быстро падает с ростом п (уже при п = 6 оно составляет менее 5%). Проверить это с помощью метода Монте-Карло.

10.23 (8 б.) Многогранник в R3 задан системой линейных неравенств: . Известны также его «габариты»: . Оценить объем многогранника методом Монте-Карло

10.24 (7 б.) Горе-синоптик. В некоторой местности погода ведет себя непредсказуемо; известны лишь следующие постоянные вероятности событий: р— в течение дня буде дождь; р2 — будет снег; р3 — без осадков; P+P2+ Рз = Синоптики в прогнозе на сегодня попросту повторяют то, что произошло в погоде вчера. Методом Монте-Карло оценить вероятность правильного прогноза для за данных p,p2,на протяжении длительного периода

10.25 (6 б.) На плоскости заданы несколько произвольны кругов (с различными случаями пересечения и наложения). Методом Монте-Карло найти площадь фигуры, полученной объединением кругов.

10.26 (6 б.) Трехмерное тело образовано объединением нескольких сфер произвольного размера и взаимного расположения. Найти объем этого тела, используя метод Монте-Карло.

10.27 (12 б.) 12 монет. Известен способ, как за три взвешивания на весах без гирь среди 12 монет найти фальшивую (отличающуюся от остальных по весу в неизвестную сторону). Для этого при каждом взвешивании на чаши весов нужно класть по 4 монеты. Реализовать такую идентификацию: человек загадывает номер фальшивой монеты и ее особенность (легче или тяжелее других). ЭВМ организует взвешивание, спрашивает, куда отклонилась стрелка весов при каждом опыте, и находит номер фальшивой монеты.

(12 б.) Развитие задачи. Реализовать идентификацию за минимальное число взвешиваний для произвольного числа монет.

10.28 (8 б.) Перемешать массив А(п) случайным образом так, чтобы ни один из элементов гарантированно не остался на своем прежнем месте и имел бы одинаковые шансы занять любое из остальных мест. Разрешается использовать рабочий массив такой же размерности, что и основной.

10.31 (10 б.) Имитировать перетасовку новой колоды игральных карт в 52 листа многократным применением операций сдвига и «врезки» так, чтобы никакие две рядом лежащие карты не сохранили бы свой первоначальный порядок.

Примечание. Операция врезки состоит в делении колоды на две неравные подколоды и слиянии частей случайного объема, взятых из обеих подколод.