Сложность алгоритмов для разреженных полиномиальных матриц
©М. С.Зуев
Пусть УУ - коммутативная область, каждый элемент которой может быть записан в одном машинном слове.
Определение 1. Полином ^2™=! е
^У[ж], у которого коэффициент Су отличен от нуля с вероятностью ссу назовем полиномом типа (т,ау). Если ау = а для всех V, то будем обозначать тип (т, а). Число а назовем плотностью полинома.
Определение 2. Назовем матрицей типа (п, р, 771, а к) случайную п х п матрицу, каждый элемент которой отличен от нуля с вероятностью р, а каждый ненулевой элемент - это полином типа (т,а*). Число р назовем плотностью матрицы.
Будем обозначать ВАк ЕМ. математическое ожидание числа операций сложения и умножения в алгоритме, а также ф(а: Ь) = а + Ь ~ аЬ.
Вычислим сложность мв-тринных алгоритмов сложения и умножения с учетом плотно-сти матриц. Будем считать, что для сложения и стандартного умножения полиномов справедливо
(т,а*) + (т,А) =
(т, а) х (т, (3) = (2т - 1,7г™(а, /3)) ЕА{{т, а) + {т, (3)) = тар] £М((т,а) х (т,/?)) = т2а/3] £А((т,а) х (т,/3)) = т2а{3,
где
¿т _ Г ® ПРИ 1 < ? < 7П
1 1 2т — г при гп < i < 2т — 1,
Для алгоритма сложения полиномиальных матриц справедливо
(п, р, т, ау) + (п, а, т, (Зь) -
= (п, Ф(р, и),га, ф(рау,о(3„)) (2)
Математическое ожидание числа сложений при этом равно
ТП
ЕА ~ п2ра ^2 (3)
Для стандартного алгоритма умножения матриц справедливо
(п, р, т, а) х (п, а, т, 0) =
= («»1 - (1 - ро-)п,2гп - 1,^), (4)
где
в = М1-(1-аГ)(1-(1-^Г),
17и = 1-(1-9<(а,/?)Г Математическое ожидание количества операций при этом равно
ЕМ. — п3дМ, (5)
ЕА = п3дА+
2тп—1
+п2 £ ((1_9<Т(а,/3)Г-1 + ™7<*(а,/3)). (6) «=1
Будем называть целое число числом типа (и»), если оно хранится в ад машинных словах. Примем модель
(ад) + (у) = (тах(ги,ь)), ЕА((ш) + (ад)) = ад, (ад) х (и) = (ад + у), £М((^) х (и)) — ьи), (7) £А((гп) х (?;)) = ыи, для стандартного алгоритма умножения чисел. Определение 3. Полином £2^1 СуХь~1 6 (1) Щ%\, У которого коэффициент су отличен от ну-
ля с вероятностью и все ненулевые коэффициенты - это числа типа (ш) назовем полиномом типа (т,а^,ад).
Определение 4. Назовем матрицей типа (п, р, т, а^ад) случайную пхп матрицу, каждый элемент которой отличен от нуля с вероятностью р, а каждый ненулевой элемент - это полином типа (т, а^ад).
Для стандартных алгоритмов умножения полиномов и матриц оценки сложности получаются непосредственно из формул (1). (3), (5), (6).
Данный подход можно использовать для оценки сложности других матричных алгоритмов.
БЛАГОДАРНОСТИ: Работа выполнена при частичной поддержке гранта РФФИ 04-07-90268.
Поступила в редакцию 10 октября 2006 г.