- •Двойственная функция.
- •Самодвойственная функция.
- •45. Нормальные алгоритмы Маркова: определение, примеры.
- •46. Определения алгоритма по Тьюрингу, Черчу и Маркову.
- •47. Вычислительная сложность алгоритма: определение. Приведите пример алгоритма, имеющего сложность o(n5).
- •48. Детерминированная и недетерминированная мт. Классы p и np - определение, связь с мт.
- •47. Вычислительная сложность алгоритма: определение. Приведите пример алгоритма, имеющего сложность o(n5).
- •48. Детерминированная и недетерминированная мт. Классы p и np - определение, связь с мт.
- •49. Язык, распознающая грамматика, порождающая грамматика - определения.
45. Нормальные алгоритмы Маркова: определение, примеры.
Набор преобразований текста с помощью замены или подстановок.
Алфавит А { 1 … I }
1 2 –> i 4
1 1 -> 5 7
Подстановки:
1) Простые 2) Заключительные
Условие остановки:
Больше нет элементов, к которым возможно применить подстановку.
Достигнута заключительная подстановка.
Примеры:
А { а … я }, подстановка: к –> м
Исходное сообщение: кукуку
Сообщение полученное: мумуму
А { 0,1 }подстановка: 101 -> 010
Исходное сообщение: 1010110
Сообщение полученное: 0100110
46. Определения алгоритма по Тьюрингу, Черчу и Маркову.
Тьюринг: алгоритм – то, что может быть реализовано при помощи машины Тьюринга.
Чёрч: Задача алгоритмически разрешима, если может быть разрешена с помощью частично рекурсивной функции.
Тезис Маркова: Алгоритм – то, что может быть реализовано в терминах алфавита на каком-то сообщении (строке) с помощью подстановок.
47. Вычислительная сложность алгоритма: определение. Приведите пример алгоритма, имеющего сложность o(n5).
Вычислительная сложность — понятие, обозначающее функцию зависимости объёма работы, которая выполняется некоторым алгоритмом, от размера входных данных.
Пример О(n5):
Поиск обратной матрицы с помощью союзной A*
detA : n раз считаем минор, т.е det для матрицы порядка (n – 1) (т.е умножить)
A* нужно n2 раз посчитать det для матрицы (n – 1), т.е сделать (n – 1)2 умноженной и каждой det умножений на (и того n умножений):
n2 раз умножить на
, т.е О(n5) общий результат.
48. Детерминированная и недетерминированная мт. Классы p и np - определение, связь с мт.
МТ называется детерминированной, если каждой комбинации состояния и ленточного символа соответствует не более одного правила.
Если существует пара «ленточный символ — состояние», для которой существует 2 и более команд, такая МТ называется недетерминированной.
– Детерминированная МТ;
К классу P относятся алгоритмы, выполняемые не более чем за полиноминальное время, и могут быть реализованы на детерминированной МТ
К классу NP относятся алгоритмы, которые можно за полиномиальное время решить на недетерминированной МТ
47. Вычислительная сложность алгоритма: определение. Приведите пример алгоритма, имеющего сложность o(n5).
Вычислительная сложность — понятие, обозначающее функцию зависимости объёма работы, которая выполняется некоторым алгоритмом, от размера входных данных.
Объём работы обычно измеряется абстрактными понятиями времени и пространства, называемыми вычислительными ресурсами.
время - количество элементарных шагов, необходимых для решения задачи
пространство - объём памяти или места на носителе данных
В качестве примера рассмотрим две процедуры: Slow со сложностью O(N^3) и Fast со сложностью O(N^2).
procedure Slow; procedure Fast; var var i,j,k: integer; i,j: integer; begin begin for i:=1 to N do for i:=1 to N do for j:=1 to N do for j:=1 to N do for k:=1 to N do Slow; {какое-то действие} end; end; procedure Both; begin Fast; end; Если во внутренних циклах процедуры Fast происходит вызов процедуры Slow, то сложности процедур перемножаются. В данном случае сложность алгоритма составляет O(N^2 )* *O(N^3)=O(N^5).