Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры МЛТА v.0.9.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
484 Кб
Скачать

2) Метод Гиббсона

Метод предполагает проведение совокупного анализа по трудоемкости и переход к временным оценкам на основе принадлежности решаемой задачи к одному из следующих типов:

задачи научно-технического характера с преобладанием операций с операндами действительного типа;

задачи дискретной математики с преобладанием операций с операндами целого типа;

задачи баз данных с преобладанием операций с операндами строкового типа;

Далее на основе анализа множества реальных программ для решения соответствующих типов задач определяется частотная встречаемость операций, создаются соответствующие тестовые программы, и определяется среднее время на операцию в данном типе задач –`t тип задачи.

3) Метод прямого определения среднего времени

так же проводится совокупный анализ по трудоемкости – определяется FA(N), после чего на основе прямого эксперимента для различных значений Nэ определяется среднее время работы данной программы Tэ и на основе известной функции трудоемкости рассчитывается среднее время на обобщенную элементарную операцию, порождаемое данным алгоритмом, компилятором и компьютером – `t¯а. Эти данные могут быть (в предположении об устойчивости среднего времени по N) интерполированы или экстраполированы на другие значения размерности задачи следующим образом: `tа= Tэ(Nэ) / FA(Nэ), T(N) = `tа * FA(N).

80. Сложность и кодирование. Сложность и архитектура машины.

  • Разные представления одной задачи могут отличаться и экспоненциально.

  • Например, представления целых чисел в унарном коде и в любой позиционной системе счисления.

  • В дальнейшем будем считать, что коды одной и той же задачи при различных разумных схемах кодирования различаются по длине не более чем полиномиально. Иначе говоря, если n — длина входного слова, кодирующего данные a при некоторой схеме кодирования, то при любой другой разумной схеме кодирования длина кода данных a ограничена некоторым полиномом от n.

Зависимость сложности от архитектуры машины

  • Пример: задача о распознавании палиндрома

  • На обычной (одноленточной) машине Тьюринга алгоритм имеет сложность О(n2).

Но уже на двухленточной машине эта задача решается в три просмотра слова, т. е. со сложностью порядка3n

  • оценки сложности алгоритмов на разных машинах отличаются полиномиально.

  • То же самое можно утверждать и для задач, поскольку сложность задачи — это сложность самого эффективного алгоритма, который ее решает.

  • Перенос задачи на детерминированную машину любой архитектуры изменяет ее сложность не более чем полиномиально.

  • Такой перенос может повлечь за собой смену схемы кодирования. Однако, что эта смена изменит длину слова не более чем полиномиально.

81, 82

81. Полиномиальный алгоритм. Легко- и трудноразрешимые задачи, классы задач p и np.

Функцию f(n) будем называть полиномиальной, если f(n) ~ р(n), где р(n) — некоторый полином от n (неважно, какой степени). Алгоритм А называется полиномиальным, если его временная сложность ТА(п) — полиномиальная функция. Полином от n переменных — это конечная формальная сумма вида , где набор из целых неотрицательных чисел (называется мультииндекс), cI — число (называемое «коэффициент многочлена»), зависящее только от мультииндекса I.

Эта характеристика алгоритма не зависит ни от архитектуры машины, ни от выбранной схемы кодирования задачи.

Класс самых легких задач включает задачи, временная функция сложности которых имеет полиномиальный характер. Напомним, что полиномиальной является функция y, в которую аргумент x входит в качестве основания степени. Они образуют класс так называемых P-задач

Классом P называют множество задач, для которых существуют «быстрые» алгоритмы решения (время работы которых полиномиально зависит от размера входных данных).

Класс трудноразрешимых задач включает задачи с временная функция сложности, имеющими экспоненциальный характер, т.е. с функциями, в которых аргумент выступает в роли показателя степени. Такие задачи образуют класс NP-задач.

В теории алгоритмов классом NP (от англ. non-deterministic polynomial) называют множество алгоритмов, время работы которых существенно зависит от размера входных данных; в то же время, если предоставить алгоритму некоторые дополнительные сведения, то он сможет достаточно быстро (за время, не превосходящее многочлена от размера данных) решить задачу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]