Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации 2часть / Лекция_32_33_Теория_Алгоритмов.ppt
Скачиваний:
29
Добавлен:
11.05.2015
Размер:
177.66 Кб
Скачать

Виды функций

Таблицы, связывающие вход с выходом – наиболее простой набор функций, но слишком ограниченный

Алгебраические функции +, -, Sin, …

Алгоритмы решения уравнений, суммирования рядов, итерационные процессы,….

По мере усложнения функций необходимо применять все более сложные алгоритмы и искать более мощные методы их описания

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

07/02/19

51

 

Вычислимость функций

 

Поразительным результатом математических

 

исследований (Гедель) является обнаружение

 

существования такого класса функций, для которых

 

не существует алгоритмического вычисления. Такие

 

функции получили название невычислимых.

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

Если функция вычислима то ее можно вычислить с помощью некоторой МТ и наоборот.

Если удается доказать, что с помощью МТ ее нельзя вычислить, то она невычислима в принципе.

07/02/19

52

Значение МТ для современной теории вычислительных систем

состоит в предположении, что все вычислимые функции

могут быть описаны в виде программы для некоторой МТ

Это является содержанием Тезиса Черча-Тьюринга.

Эта гипотеза пока не доказана в виде теоремы, однако имеется много фактов в подтверждении ее справедливости.

Следствие ТЧ-Т: вычислительная мощность МТ выше, чем у любой возможной ВМ.

То есть МТ представляет теоретический предел

возможностей ВМ существующих на практике.

07/02/19

53

Ограниченность ВМ и проблема Искусственного Интеллекта

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

ВМ могут решать только задачи, имеющие алгоритмическое решения.

Проблема создания искусственного интеллекта

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

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

07/02/19

54

Сложность задач и алгоритмов с точки зрения ВМ оценивается затратами на вычисление а не на разработку алгоритма

Всегда ли принципиально разрешимая задача имеет практическое решение?

Под размерностью задачи обработки данных понимают число исходных данных в ее формальном описании (далее n). Трудоемкость растет с увеличением количества данных.

Временной сложностью алгоритма называется время, затрачиваемое алгоритмом как функция размерности задачи, которую он решает Tn=f(n)

Емкостной сложностью алгоритма называется объем памяти, требуемый для его реализации как функция размерности

Бn=f(n)

07/02/19

55

Оценки сложности

Поведение временной (емкостной) сложности при увеличении размерности до бесконечности называется асимптотической

сложностью

Если для времени выполнения алгоритма решения задачи размерности n можно получить оценку

Tn C f(n) (C –константа)

то говорят, что временная асимптотическая сложность алгоритма и соответствующей задачи есть O(f(n))

Мы уже встречались с оценками

O(log2n) – логарифмическая

O(n/2), O(n2), O(np) – полиномиальная

Возможна O(en) - экспоненциальная

56

07/02/19

Сравнение полиномиальных и экспоненциальных

сложность

n=10

n=20

n=30

n

0.00001c

0.00002c

0.00003c

n2

0.0001c

0.0002c

0.0009c

n3

0.001c

0.008c

0.027c

n5

0.1c

3.2c

24.3c

2n

0.001c

1c

17.9мин

3n

0.059c

58мин

6.5лет!!!

07/02/19

57

Классификация задач по сложности

Задача(алгоритм) считается тем более сложной, чем больше время тратит на ее расчет ВМ

Так задача линейного поиска считается более сложной O(n/2) чем поиск двоичный O(log2n)

Алгоритм сортировки пузырьком O(n2) более сложен, чем алгоритм слияния O(n log2n), хотя затраты на программирование наоборот

Алгоритм метода ветвей и границ для задачи о рюкзаке O(2n) еще боле

сложный чем сортировка. Т.е. эта задача практически неразрешима при n>40 (пока не найден более эффективный алгоритм, если он найден, то сложность задачи понижается)

Класс полиномиальных задач обозначается P

Класс недетерминированных полиномиальных НП для которых почти

доказана полиномиальность (комивояжера, задачи прямого перебора)

07/02/19

58