10.07.2015 Views

С.П. Шарый - Институт вычислительных технологий СО РАН

С.П. Шарый - Институт вычислительных технологий СО РАН

С.П. Шарый - Институт вычислительных технологий СО РАН

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

34 1. ВведениеЕстественно измерять трудоёмкость алгоритма количеством «элементарныхопераций», требуемых для его исполнения. <strong>С</strong>ледует лишьиметь в виду, что эти операции могут быть весьма различными. <strong>С</strong>кажем,сложение и умножение двух чисел «с плавающей точкой» требуютдля своего выполнения разного количества тактов современных процессорови, соответственно, разного времени. До определённой степениэти различия можно игнорировать и оперировать понятием усреднённойарифметической операции.Большую роль играет также объём данных, подавамых на вход алгоритма.К примеру, входными данными могут быть небольшие целыечисла, а могут и рациональные дроби с внушительными числителямии знаменателями. Ясно, что переработка б´ольших объёмов данныхдолжна потребовать б´ольших трудозатрат от алгоритма, так что имеетсмысл сложность исполнения алгоритма в каждом конкретном случаеотносить к сложности представления входных данных алгоритма. 4На качественном уровне полезно различать полиномиальную трудоёмкостьи экспоненциальную трудоёмкость. Говорят, что некоторыйалгоритм имеет полиномиальную трудоёмкость, если сложностьего выполнения не превосходит значений некоторого полинома от длинывходных данных. Напротив, про некоторый алгоритм говорят, чтоон имеет экспоненциальную трудоёмкость, если сложность его выполненияпревосходит значения любого полинома от длины подаваемыхему на вход данных.<strong>П</strong>олучение оценок трудоёмкости задач является непростым делом.Если какой-то алгоритм решает поставленную задачу, то, очевидно,его трудоёмкость может служить верхней оценкой сложности решенияэтой задачи. Но вот получение нижних оценок сложности решения задачявляется чрезвычайно трудным. В явном виде такие нижние оценкинайдены лишь для очень небольшого круга задач, которые имеют,скорее, теоретическое значение. В этих условиях широкое распространениеполучила альтернативная теория сложности, в основе которойлежат понятие сводимости задач друг к другу и вытекающее из негопонятие эквивалентности задач по трудоёмкости.Наибольшее распространение получило полиномиальное сведениеодних задач к другим, под которым понимается такое преобразованиеодной задачи к другой, что данные и ответ исходной задачи перево-4 В связи с этим получили распространение также относительные единицы измерениятрудоёмкости алгоритмов — через количество вычислений функции, правойчасти уравнения и т. п.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!