Колмогоров работал с алгоритмами с точки зрения теории информации. Сейчас читаю его статьи. Он - гений. Но это немного не то... Знаете, вот мне бы теоремку, что тот или иной алгоритм является самым быстрым в операциях сложения и умножения. Так нет такой теоремки (( Колмогоров до такой утилитарщины не опускался...
Зря думаете, что не опускался
![Smile :)](./images/smilies/icon_smile.gif)
Именно Колмогоров поставил задачу: доказать или опровергнуть гипотезу: нельзя произвести умножение двух
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
-значных чисел быстрее, чем за
![$n^2$ $n^2$](https://dxdy-01.korotkov.co.uk/f/0/2/1/021273d50c6ff03efebda428e9e42d7782.png)
.
Ученик Колмогорова Карацуба доказал, что она не верна и построил алгоритм, перемножающий их за
![$O(n^{\log_2 7})$ $O(n^{\log_2 7})$](https://dxdy-04.korotkov.co.uk/f/b/c/8/bc890935c1f6577ad33d6e617727208282.png)
. Тоом, будучи школьником, обобщил метод Карацубы и улучшил оценку до
![$O(n^{1+\varepsilon})$ $O(n^{1+\varepsilon})$](https://dxdy-03.korotkov.co.uk/f/e/1/a/e1aa91569ffa8e8b653209810861fc9c82.png)
.
Немцы Шёнхаге и Штрассен применили к этой задаче преобразование Фурье и получили оценку
![$O(n\log n\log \log n)$ $O(n\log n\log \log n)$](https://dxdy-01.korotkov.co.uk/f/c/f/b/cfb29f0d4fd073d7068838638d70d2b582.png)
. Это было давно - кажется, в 60-х годах.
А в позапрошлом году их алгоритм улучшил Фюрер, получив верхнюю оценку
![$O(n\log n 2^{O(\log^* n)})$ $O(n\log n 2^{O(\log^* n)})$](https://dxdy-04.korotkov.co.uk/f/f/0/1/f0199f6ffb9cad124993bbd51935e57582.png)
.
С нижними оценками все сложнее. Тривиальную оценку
![$2n$ $2n$](https://dxdy-01.korotkov.co.uk/f/4/7/c/47c124971e1327d1d3882a141f95face82.png)
вроде так и не улучшили.
Если как-то ограничивать свойства алгоритмов, то можно получить оценки порядка
![$n\log n$ $n\log n$](https://dxdy-03.korotkov.co.uk/f/6/d/a/6da5fdcc1674c95bf1531ddb72ea1fe282.png)
(результаты Пападимириу и еще какие-то, в разных направлениях).
-- Пт сен 11, 2009 22:36:40 --Сейчас у немцев сильные группы в этой области. Они(еще Штрассен) начали на этом поле серьезно использовать абстрактную алгебру. Наша кафедра собтрудничает с группой Blaser'а сейчас. Есть еще группа Burgisser'а
А американская Computer Science сейчас в основном концентрируется на
![$P$ $P$](https://dxdy-02.korotkov.co.uk/f/d/f/5/df5a289587a2f0247a5b97c1e8ac58ca82.png)
vs
![$NP$ $NP$](https://dxdy-03.korotkov.co.uk/f/a/a/1/aa1bd49a4578d83ef6f508fb0a9e728982.png)
. Лично мне это направление не кажется интересным, алгебраическая сложность - гораздо более красивый подход.
-- Пт сен 11, 2009 22:39:46 --вот мне бы теоремку, что тот или иной алгоритм является самым быстрым в операциях сложения и умножения. Так нет такой теоремки ((
Для сумматоров есть такая теоремка. Минимальный по сложности сумматор требует
![$5n-3$ $5n-3$](https://dxdy-04.korotkov.co.uk/f/f/b/7/fb7a6deb6e09d4986417dcded61d062182.png)
битовых операций. А для глубины схемы есть асимптотическая оценка
![$\log n$ $\log n$](https://dxdy-03.korotkov.co.uk/f/6/9/3/6931c25b0d6a07c96e4160eac934c79d82.png)
. Посмотрите вот эту статью, там есть ссылки:
http://www.mathnet.ru/php/archive.phtml ... n_lang=rusДля умножения все гораздо сложнее. Если Вы серьезно этим хотите заниматься - посмотрите все-таки Algebraic Complexity Theory. Очень хорошая книга.