- •Моделирование как метод исследования сложных систем связи и управления. Общие подходы.
- •Способы исследования реальных объектов:
- •Натурный эксперимент
- •Математическое моделирование
- •Имитационное моделирование
- •Классификация моделей
- •Этапы моделирования
- •Построение модели системы. Математическое моделирование. Имитационное моделирование.
- •Иерархия моделей. Адекватность и сложность модели. Иерархия моделей
- •Адекватность модели
- •Пример имитационной модели фильтра нижних частот.
- •Элементы цепи:
- •Как работает фильтр нижних частот (фнч): (не уверен)
- •Пример имитационной модели информационной системы.
- •Моделирование дискретных случайных величин.
- •Формирование дискретной случайной величины с равновероятным распределением
- •Формирование дискретной случайной величины с не равновероятным распределением
- •Формирование дискретной случайной величины с не равновероятным распределением и с числом значений больше 2
- •Моделирование непрерывных случайных величин с равномерным распределением.
- •Моделирование непрерывных случайных величин с гауссовским распределением.
- •Моделирование случайных векторов с независимыми компонентами
- •Моделирование гауссовского случайного вектора с заданными средним и корреляционной матрицей.
- •Модели каналов связи
- •Помехи в информационных системах.
- •Модели случайных процессов. Постоянный процесс. Винеровский процесс. Процессы авторегрессии различных порядков.
- •Идентификация модели авторегрессии на примере процесса авторегрессии 1-го порядка
- •Общая постановка задачи фильтрации в информационных системах. Нерекуррентная и рекуррентная фильтрация.
- •Фильтр Калмана и его свойства. Принцип предсказания и коррекции.
- •Вычислительная сложность алгоритма обработки сигналов в информационных системах. Функция сложности алгоритма.
- •Вычислительная сложность
- •Функция сложности алгоритма
- •Методы снижения сложности алгоритмов
- •Алгоритмы экспоненциальной и полиноминальной сложности. Порядок сложности алгоритмов.
- •Методы анализа сложности алгоритма. Непосредственный подсчет. Рекуррентная формула для асимптотической сложности. Оценка асимптотической сложности по рекуррентной формуле.
- •Анализ вычислительной сложности перемножения матриц и векторов
- •Методы снижения сложности алгоритмов.
- •Перемножение комплексных матриц и векторов
- •Перемножение двух комплексных матрицы
- •Метод Штрассена быстрого умножения матриц и его асимптотическая сложность.
- •Методы быстрого умножения комплексных чисел, векторов и матриц. Метод 3м.
Перемножение комплексных матриц и векторов
– мы
считали, что элементы A и X действительные
числа
Мы
высчитали, что сложность примерно
2
Как
можно сделать иначе
Метод 3М – метод трёх умножений
Что получается? Если традиционным методом у нас было бы 4 векторно матричных умножения и 2 сложения вектора. При традиционном выполнении для вычисления вектора C требуется 4 раза перемножить действительные матрицы и вектор и 2 раза сложить действительные векторы.
При использовании метода 3М требуется: 3 раза умножить действительную матрицу и вектор, 1 раз сложить действительные матрицы и 4 раза сложить действительные векторы.
Сложение
2 матриц –
Перемножение
матрицы на вектор тоже
Общий выигрыш здесь будет не 25%, а будет меньше Применение метода 3М для данного случая даёт выигрыш 12,5%, при этом результат получаем тот же.
Если у нас какие-то большие матрицы и векторы, то нужен процессор суперкомпьютера, если на 12,5% требования производительности снижаем, то цена примерно на 30% снизится
Перемножение двух комплексных матрицы
Традиционный метод: 4 операции перемножения двух действительных матриц (N3) и 2 операции сложения двух действительных матриц (N2)
Здесь требуется 4 умножения матриц R и 2 сложения матриц R
Теперь с помощью метода 3М:
Вместо 4 умножений матриц здесь требуется только 3 (2N3), но 5 матричных сложений (N2)
Получается, что метод 3М при перемножении матриц даёт выигрыш в вычислительной сложности порядка 25%, т.е. то, что добавляется сложение это мало существенно.
За счёт рационального исключения повторяющихся операций получаем выигрыш в 25% — это весьма много – сократит стоимость процессора.
Если удалось придумать способ более быстро умножать матрицы – у вашей компании процессоры могут быть проще – будет дешевле и блок питания для него, габариты будут меньше – всё будет меньше и дешевле – изделие с меньшей стоимостью и габаритами.
Рассмотрим теперь метод рационального выбора порядка выполнения операций.
,
- вектор
Второй способ предпочтительнее, а результат будет одинаковый
Перемножение 2ух матриц – 2N3, а умножение матрицы на вектор 2N2
Бывают случаи, когда результат меняется если менять операции – мы смотрим с позиции утилитарной – просто результат, т.е. если одежду по-разному наденем, то может и неудобно, но утепление по идее такое же
Изменять порядок выполнения операций нужно аккуратно.
Вернёмся к методу 3М и какой результат он имеет, если перемножить 2 вектора
Рассмотрим применение метода 3М для случая перемножения двух векторов (вектор строка на вектор столбец)
Видно,
что 2 обычных сложения, и 4 перемножения
векторов
Теперь методом 3М
Теперь
3 умножения векторных
2 векторных сложений
и ещё одно простое сложение – незначительно.
В итоге тоже 8N
Получается, что при перемножении двух векторов, а точнее при вычислении скалярного произведения двух векторов применение метода 3М выигрыша не даёт.
В случае традиционного: 4 умножения 4N2, 2 сложение и вычитание матриц N2 – в итоге 6N2
Теперь метод 3М: 3 перемножения 3N2. 2 сложение двух векторов N (+2N). 2 Сложение матриц +2N2. В итоге получается 6N2 – в этом случае метод 3М тоже не даёт выигрыш
При вычислении внешнего произведения матриц метод 3М выигрыша вычислительной сложности не даёт – даже некоторый проигрыш получается.
