- •Вопрос 1
- •Вопрос 2
- •Вопрос 3
- •Вопрос 4
- •Вопрос 5
- •Вопрос 6
- •Вопрос 7
- •Вопрос 8
- •Вопрос 9
- •Вопрос 10
- •Вопрос 11
- •Вопрос 12
- •Вопрос 13
- •Вопрос 14
- •Вопрос 15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 18
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21
- •Вопрос 22
- •23 Частично и общерекурсивные функции.
- •Вопрос 24
- •Вопрос 25
- •Вопрос 27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
- •Вопрос 31
- •Вопрос 32
- •Вопрос 33
- •Вопрос 34
- •.Вопрос 35
- •Вопрос 36
- •Вопрос 37
- •Вопрос 38
- •Вопрос 39
- •Вопрос 40-41
- •Вопрос 42
- •Вопрос 43
- •Вопрос 44
- •Вопрос 45
- •1 Год сек. Тобит – предел Бреммермана
- •Вопрос 46
- •Вопрос 47
- •Вопрос 48
- •7 Неразрешимых проблем:
- •Вопрос 49
- •§5.2 Полиномиальные и экспоненциальные алгоритмы
- •Вопрос 50
Вопрос 1
Применение теории алгоритмов Во всех областях математики, в которых встречаются алгоритмические проблемы. Такие проблемы возникают практически во всех разделах математики. В математической логике для каждой теории формулируется проблема решения множества всех истинных или доводочные утверждений этой теории относительно множества всех ее предложений (теории подразделяются на разрешимые и неразрешимые в зависимости от разрешимости или неразрешимости указанной проблемы); в 1936 А. Черч установил неразрешимость проблемы разрешимости для множества всех истинных предложений логики предикатов, дальнейшие важные результаты в этом направлении принадлежат А.Тарском, А. И. Мальцеву и др.. Неразрешимые алгоритмические проблемы встречаются в алгебре (проблема тождества для полугрупп и, в частности, для групп ; первые примеры полугрупп с неразрешимой проблемой тождества были изобретены в 1947 г. независимо А. А. Марковым и Э. Постом, а пример группы с неразрешимой проблемой тождества - в 1952 г. П. С. Новиковым ); в топологии (проблема гомеоморфии, неразрешимость которой для важного класса случаев была доказана в 1958 г. А. А. Марковым ); в теории чисел (проблема решения 'язностидиофантовых уравнений, неразрешимость которого была установлена в 1970 г. Ю. В. Матиясевичем ) и в др.. разделам математики.
Теория алгоритмов тесно связана: 1) с математической логикой, поскольку в терминах алгоритмов может быть изложено одно из центральных понятий математической логики - понятие исчисления (и поэтому, напр., Геделя теорема о неполноте формальных систем может быть получена как следствие теорем А. т.) 2) с основами математики, в которых одно из центральных мест занимает проблема соотношения конструктивного и неконструктивного (в частности, А. т. дает аппарат, необходимый для разработки конструктивного направления в математике); в 1965 г. А. Н. Колмогоров предложил использовать А. т. для обоснования теории информации, 3) с кибернетикой, в которой важное место занимает изучение алгоритмов управления. А. т. образует теоретический фундамент для ряда вопросов вычислительной математики.
Области применения –
внутри математики (логика, алгебра, геометрия)
Связанные с созданием ЭВМ (схемотехника, алгоритмы, цифровые автоматы)
Не математические области (лингвистика, философия, экономика)
Теория алгоритмов – раздел матиматики в котором изучают теоритические возможности эффективных процессов вычислений и их приложений.
Алгоритм – совокупность правил обладающих свойствами –
Массовости
Детерминированности
Результативности
Элементарности
Вопрос 2
Первое правило – при построении алгоритма прежде всего необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (закодированное) представление этих объектов носит название данных. Алгоритм приступает к работе с некоторым набором данных, которые называются входными, и в результате своей работы выдает данные, которые называются выходными. Таким образом, алгоритм преобразует входные данные в выходные. Это правило позволяет сразу отделить алгоритмы от “методов” и “способов”. Пока мы не имеем формализованных входных данных, мы не можем построить алгоритм.
Второе правило – для работы алгоритма требуется память. В памяти размещаются входные данные, с которыми алгоритм начинает работать, промежуточные данные и выходные данные, которые являются результатом работы алгоритма. Память является дискретной, т.е. состоящей из отдельных ячеек. Поименованная ячейка памяти носит название переменной. В теории алгоритмов размеры памяти не ограничиваются, т. е. считается, что мы можем предоставить алгоритму любой необходимый для работы объем памяти. В школьной “теории алгоритмов” эти два правила не рассматриваются. В то же время практическая работа с алгоритмами (программирование) начинается именно с реализации этих правил.
В языках программирования распределение памяти осуществляется декларативными операторами (операторами описания переменных). В языке Бейсик не все переменные описываются, обычно описываются только массивы. Но все равно при запуске программы транслятор языка анализирует все идентификаторы в тексте программы и отводит память под соответствующие переменные.
Третье правило – дискретность. Алгоритм строится из отдельных шагов (действий, операций, команд). Множество шагов, из которых составлен алгоритм, конечно.
Четвертое правило – детерменированность. После каждого шага необходимо указывать, какой шаг выполняется следующим, либо давать команду остановки. Пятое правило – сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считать результатом работы алгоритма.