
- •Методы сортировки. Метод Шелла (сортировка с убывающим шагом).
- •Сортировка распределением.
- •Карманная сортировка.
- •Сортировка подсчетом.
- •Сортировка квадратичным выбором.
- •Сортировка кубическим выбором.
- •Пирамидальная сортировка.
- •Методы внешней сортировки.
- •Алгоритмы на графах.
- •Статистический критерий.
- •Перестановки. Сочетания. Коды Грея.
- •Критические системы.
Статистический критерий.
На сколько случайной является последовательность?
χ2-критерий.
Хи-квадрат.
S = 2 3 4 5 6 7 8 9 10 11 12 – сумма значений.
Вероятности выпадения того или иного значения: Ps=1/36 + 1/18 + 1/12 + 1/9 + 1/36 + 5/36 + 1/9 + 1/12 + 1/18 + 1/36.
N=144 s = 2 3 4 5 6 7 8 9 10 11 12
Ys = 2 4 10 12 22 29 21 15 14 9 6
N*Ps = 4 8 12 16 20 24 16 12 8 4
Оценить на сколько теоретические значения отличаются от практических.
V = (Y2 – np2)2 + (Y3 – np3)2 + … + (Y12 – np12)2 = сумма (Ys – nps)2/nps = 1/n сумма (Ys2/ps) – n.
|
P=1% |
5 |
25 |
50 |
75 |
95 |
99 |
ν=1 ν=2 … ν=5 … ν=10 … ν=50 |
0,00016
2,6
29,7 |
3,9 |
|
|
|
18,3 |
6,635
23,2
76,2 |
Значение nps – должно быть не меньше 5. Для облегчения расчетов, рекомендуется объединять критерии.
Провести эксперимент 3 раза, если попадают в диапазоны 5-10 или 90-95, по 2 раза туда и туда, то генератор считается неудачным.
Случайная величина принимает дискретный ряд значений. Случайная величина принимает значения в диапазоне от 0 до 1.
Критерий Колмогорова-Смирнова.
Линейный конгруэнтный метод.
Линейная конгруэнтная последовательность имеет максимальный период тогда и только тогда, когда числа С и М являются взаимно простыми; величина b=a-1 кратна p для каждого простого p, являющегося делителем М. b - кратна 4, когда.
Метод Ковэю.
5772156492=333177905450491000
Метод Фибоначчи.
Метод Митчела и Мура.
Обратная конгруэнтная последовательность.
13.05.10 г.
Смешанный конгруэнтный метод. Период. Потенциал – наименьшее целое S. Аддитивный генератор псевдослучайных чисел.
Метод Ковэю.
Метод Фибоначчи.
Сумма ряда и умножение матриц 8 и 9.
Параллельные вычисления.
1 петафлопс - 1015.
Кластер выделенных рабочих станций.
Кластер не выделенных рабочих станций.
MPI. Open MP – для 2-х ядерных, 4-х ядерных, для общей памяти. При распараллеливании суммы ряда, если два процесса, первому, например достаются все четные члены ряда, а второму – нечетные. Для знакопеременных рядов рекомендуется группировать каждому процессу по 2, чтобы компенсировали. Количество слагаемых меньше 1 000 000 не рекомендуется, время в секундах. Номер варианта – номер ряда.
При умножении матриц используется следующая идея распараллеливания. Есть матрица А, В, С. Умножаются строки и столбцы и формируется элемент. При использовании распараллеливания, считается строкой. Всем процессам по частям. Матрица В тоже имеет соответствующую полосу. Очень большие матрицы. Умножается полоса на полосу. Полоса матрицы А перемножается на полосу В, номер процесса, номер такта. Матрица В обменивается полосами с соседом, потом вычисляются другие части. У остальных со сдвигом. В нулевом процессе верхняя полоса. Потом все полосы собираются в корневой процесс.
Ускорения, которые могут быть достигнуты. Существует доля распараллеливаемых и нераспараллеливаемых операций. При умножении матриц уже не все процессы можно распараллелить. Длительность выполнения задачи без распараллеливания. Ускорение R = T1/Tn 2. Линия, которая асимптотически стремится к 2. Закон Амдала. Предельное ускорение определяется степенью. Есть еще сетевой закон Амдала – при дальнейшем увеличении пойдет завал линий.
MPI – 130 функций в первой версии, минимальный набор – 6 функций. 1 – позволяет инициализировать библиотеку MPI, другая завершает работу MPI. MPI_Init и MPI_Finalize.
В заголовке программы необходимо подключить библиотеку MPI.
MPI_Init(argc, argv)
MPI_Finalize
# include <mpi.h>
MPI_COMM_WORLD – среда, в которой запущены процессы.
MPI_Send – отправка сообщения, отправка пакета от одного процесса к другому.
MPI_Receive – получение.
Нужно запустить MPI Confg. Tools – позволяет определить количество работающих компьютеров в сети. GUI MPI run – список компьютеров, с которыми можно работать. После этого выбирать в строке, количество процессов и т.д. В языке С используется очистка буфер.
27.05.10 г.