Время работы алгоритма
Теперь мы применяем принцип несжимаемости: сложность K (x) = |f (x)| строки x превосходит log n не более чем на константу CM`. Однако среди строк длиной n найдется несжимаемая строка x*, такая что K (x*)? n. Таким образом, n? K (x *)? CM T (x*)/n + 2 log n + CM `. Значит, T (x*) = ?(n2). На входе длины n наша программа делает примерно 2 * ?(n2) шагов Сложностью по времени на данном входе… Читать ещё >
Время работы алгоритма (реферат, курсовая, диплом, контрольная)
На входе длины n наша программа делает примерно 2 * ?(n2) шагов Сложностью по времени на данном входе x называется число шагов, производимых до перехода в состояние qyes.
Сложностью по времени называется функция T: N > N, где T (n) есть наибольшая сложность по времени для входов длиной n.
Мы используем принцип несжимаемости, известный в алгоритмической теории информации (колмогоровской сложности). Пусть имеется инъективное отображение f: {0,1}n > {0,1}*. Тогда найдётся строка x? {0,1}n, такая что |f (x)|? n. Это легко видно из подсчёта: строк длиной n имеется 2n, а строк длиной? n имеется 20 +21 +· ··+2n?1 =2n? 1. То есть, при любом выбранном кодировании среди всех строк длиной n найдется несжимаемая строка, которая кодируется не менее чем n битами. Пусть машина Тьюринга M распознаёт язык палиндромов. В частности, она должна распознавать слова вида x0xR, где x? {0,1}n, а xR — строка x, записанная в обратном порядке.
Рассмотрим «перегородки» между ячейками ленты и последовательности пересечения этих перегородок (последовательности, показывающие, в каком состоянии произошло очередное пересечение перегородки). Существует i-я перегородка, где n? i? 2n, такая что соответствующая последовательность пересечений Si = (q1,…, qm) имеет длину m? T (x)/n, где T (x) — время работы машины на входе x0xR, и n = |x|. По числу i и последовательности Si можно однозначно восстановить x.
Битовое представление Si будет занимать не более CM T (x)/n+2 log n, где log n требуется на хранение n и i. По этому описанию другая машина Тьюринга M` может сгенерировать x.
Теперь мы применяем принцип несжимаемости: сложность K (x) = |f (x)| строки x превосходит log n не более чем на константу CM`. Однако среди строк длиной n найдется несжимаемая строка x*, такая что K (x*)? n. Таким образом, n? K (x *)? CM T (x*)/n + 2 log n + CM `. Значит, T (x*) = ?(n2).