Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ekzamen_4_semestr

.pdf
Скачиваний:
26
Добавлен:
27.03.2015
Размер:
1.96 Mб
Скачать

Билет 22. Производные правила вывода в исчисление предикатов: правила переименования связанных переменных, правило связывания квантором.

Правило переименования связанных переменных

1)| − ( )

2)| − ( )

F(x) не содержит свободных вхождений y,но содержит свободные вхождения х, ни одно из которых не входит в область действия квантора по у.

Доказательство:

1)– гипотеза

2)По аксиоме (Р1) справедлива формула → ( )

3)К шагу 2 применим правило обобщения | − ( ) → ( )

4)MP для (1) и (3): | − ( )

Для квантора существования доказать самостоятельно! Правило связывания кванторов.

| −K ( )

1) F(x) – гипотеза по условию

2) По т.2 ИВ А| −L , то есть формула доказуема для любого В, в том числе и для доказуемов формуле В. Значит | −K → ( )

3) По правилу обощения →( ) , B не содержит свободных вхождений х.

→( )

4) Из (3) по правилу заключения МР (для В и → ( )) следует доказуемость | −K ( ).

Билет 23. Теоремы об общезначимых формулах и о замене эквивалентных подформул в исчислении предикатов.

Теорема об общезначимых формулах

k F F– теоремами ИП являются общезначимые формулы и только они.

Опр. Две формулы F и G эквивалентны, если F G

Из теоремы об общезначимых формулах ИП следует, что между соотношениями ЛП и формальными эквивалентностями в ИП имеются аналогичные соответствия.

FG≡ F → G.

Теорема о замене эквивалентных подформул

Пусть F(A) – формула с вхождением А. F(B) – формула, полученная из F(A) заменой этого вхождения А формулой В. Тогда, если А В, то F(А) F(В). Благодаря этому правилу можно получить доказуемые эквивалентности не строя их непосредственного вывода.

Билет 24. Наиболее важные эквивалентности исчисления предикатов и их применение для построения предваренной нормальной формы.

А и В формулы, не содержащие свободных вхождений х.

1)

x(F(x)&G(x)) ( x(F(x)& xG(x))

2)

x(F(x)VG(x)) ( x(F(x)V xG(x))

3)

A&

xF(x)

x(A&F(x))

4)

A& xF(x)

x(A&F(x))

5)

AV

xF(x)

x(AVF(x))

6)

AV xF(x)

x(AVF(x))

7)

A

xF(x)

x(A F(x))

8)AxF(x) x(AF(x))

9)xF(x) → B x(F(x) → B)

10) xF(x) → B x(F(x) → B)

Из 10 данных эквивалентностей первые 6 аналогичны закону (2) ЛП, остальные 4 доказываются с помощью закона (1) ЛП и равносильности ЛВ. Используя данные 10 эквивалентностей в формулах ИП можно выносить кванторы за скобки. С помощью правил переноса квантора через отрицание, а также правила переименования переменных кванторы можно выносить за скобки в формуле. При этом получится предварнная нормальная форма.

Билет 25 Проблемы аксиоматического исчисления предикатов.

Исчисление предикатов для своего обоснования требуют решения 4ѐх проблем: разрешимости, непротиворечивости, независимости и полноты.

1ая проблема: (разрешимости) заключается в поиске алгоритма, который бы для любой заданной формы исчисления определял был – является ли она доказуемой в этом исчислении или нет. В исчислении предикатов разрешающийся алгоритм построить невозможно из-за бесконечности предельной области, который приводит в общем случае к бесконечным таблицам истинности. Доказательство этого факта стало возможным лишь после появления точного определения алгоритма.

2ая проблема: (не противоречивость исчисления), то есть не существует в этом исчислении формулы А такой, которая была бы доказуема с не А.

Теорема: Исчисление предикатов не противоречиво.

3я проблема: (независимости системы аксиом исчисления предикатов). Система аксиом И.П. – независимая система ,то есть в этой системе нет лишних аксиом. Эту независимость можно установить, например сведением к вопросу о непротиворечивости данной системы.

4я проблема: (полноты). Аксиоматическое исчисление называется полном в узком смысле, если добавление к списку его аксиом любой, не доказуемой в этом исчислении формулы, в качестве новой аксиомы, приводит к противоречивому исчислению. Исчисление предикат оказывается не полным в узком смысле. К его аксиомам можно присоединить без противоречия недоказуемую в нѐм формулу. Аксиоматическое исчисление называется полном в широком смысле слова, если любая тождественно истинная формула в нѐм доказуема . Исчисление предикат полно в широком смысле по теореме Гѐделя. В И.П. нельзя вывести сколь ни будь содержательное по существу высказывание, в частности математическое.

Билет 26 Формализация понятия алгоритма.

Алгоритм – общий, единообразный, точно установленный способ решения любой задачи из данной массовой проблемы (бесконечного множества однотипных задач). Задачи одной и той же массовой проблемы отличаются друг от друга лишь значением входящих в них параметров. Тем не менее даже при таком интуитивном понятии можно выделить некоторые характерные черты алгоритма: 1) Дискретность ( состоит из действий, выполняемых по шагам).2)Детерменированность (между всеми величинами, получаемыми алгоритмом жѐсткая причинная связь.3)Массовость (начальная система величин выбирается из некоторого множества).4)Результативность (остановка алгоритмического процесса, после конечного числа шагов, с указанием достигнутого конструктивного объекта в виде результата). Интуитивное понятие алгоритма работает, когда речь идѐт о найденном алгоритме решения конкретной проблемы. Однако строго математически доказать не существование алгоритма, пользуясь лишь его интуитивным определением невозможно. Для этого нужно формальное определение алгоритма. Тьюринг А.М. предложил определение в виде некоторой машины, теперь называемой машиной Тьюринга. Э.Л. Пост предложил определение алгоритма в виде некоторого набора правил, называемых системой продукций. А.Чѐрч, С.К. Клиник, опираясь на более ранние работы Ж.Эрбрана. К.Гѐдель

предложил определение алгоритма рекурсивными функциями. Наиболее широкое определение А.Н. Камогова.

Типы алгоритмических моделей:

1)Рекурсивные функции. Этот тип связывает понятие алгоритма с числовыми функциями, заданными на множестве натуральных чисел и принимающие значения на том же множестве.

2)Машины Тьюринга. Связывает понятия алгоритма с механическим устройством. Способна выполнять дискретно элементарные действия над элементарными объектами.

3)Нормальный алгоритм Маркова. Связывает понятия алгоритма с классом словарных преобразований, в результате замены части слов или всего слова другим словом.

Билет 27. Понятие рекурсивных функций. Примитивно рекурсивные функции: базовые функции и элементарные операции.

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

Заданные рекурсивно числовые функции : → 0 , где 0 будем называть рекурсивными. Примитивно рекурсивные функции.

Базовые фукции.

Простые одношаговые рекурсивные функции называются базовыми. 1)Нуль функция 0(х)=0

2)Функция тождества(проектирующая функция, функция введения фиктивных переменных)

 

 

, … ,

=

, где 1 ≤ ≤ , если = 1, то =

 

1

 

 

 

 

3)Функция следования(прибавление единицы)

= + 1, = + 1

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

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

элементарными.

 

 

 

 

 

 

 

1) Операция суперпозиции

 

 

 

 

 

 

Говорят, что n-местная функция (

… ) получена с помощью операторов суперпозиции из m-местной

 

 

1

 

 

 

 

 

 

функции (

… )

и n-местных функций (

… ), …, (

… ), если

… =

1

 

 

1 1

 

1

 

1

 

( …

,…, ( … ))

 

 

 

 

 

 

1 1

 

1

 

 

 

 

 

 

2) Операция примитивной рекурсии

Говорят, что n+1-местная функция ( 1, … , , ) получена из n-местной ( 1, … , ) и n+2- местной( 1, … , , , ) с помощью операции примитивной рекурсии если ее значения можно вычислить по формуле:

1 … , 0 = 1, … ,

1, … , , + 1 = ( 1, … , , , 1, … , , )

При n=0 схема примитивной рекурсии имеет вид

0 = =

+ 1 = ( , )

Будем говорить что функция получена из функции с помощью итераций

= ( ) если:

0 = 0

+ 1 = ( )

1)Базовые функции

2) 0(

,

… ,

) = 0 – ПРФ, так как 0(

,

… ,

)=0( 1

(

),…, ( ) ), т.е. получаем из базовых

1

2,

 

1

2,

 

 

1

 

 

функций 0(x) и

3) f(x)=x+n ПРФ т.к. f(x)=x (прибавили единицу n раз)

4) + , = + – ПРФ т.к. ее можно получить из функций тождества и следования с помощью оператора примитивной рекурсии.

+ , 0 = + 0 = 21( , )

Билет 28. Примеры простейших примитивно рекурсивных функций.

+ , + 1 = + + 1 = + + 1 = + , + 1 = ( x y)

=

(x, y, z) z 1

5), = – ПРФ т.к. ее можно получить из 0 и сложения с помощью оператора примитивной рекурсии.

, 0) = 0 = 0(

, + 1 = + = , + = + , ,= 0

(x, y, z) z + x

sgn(0) = 0 sgn y + 1 = 1

6)Поскольку ПРФ должны быть определены на всем N, то вместо обычной разности в теории рекурсивной функции вводят арифмитическую или усеченную разность:

x-y (всюду ниже в этом билете над минусом ставится точка)

x-y= − , ≥

0, <

функция x-1

0 − 1 = 0( )

+ 1 − 1 = = 22( , )

, = −, 0 = − 0 = 21 ,

, + 1 = − + 1 = − − 1 = , − 1

 

=

 

z − 1

7) Cигнум

sgn(x)= 0, = 0 ↔ 1, > 0

sgn(x,y)= 0, ≤ => sgn(x,y)=sgn(x-y)

1, >

К этим двум функциям можно ввести дополнительные:

 

 

1, х = 0

sgn(x) 1 sgn(x)

 

 

0, х > 0

 

 

1, х ≤

sgn(x, y) 1 sgn(x, y)

 

 

0, х >

Билет 29. Теорема а примитивной рекурсивности суммы и произведения примитивно рекурсивной функции. (без доказательства). Примитивная рекурсивность функции “частное от деления х на y”, “остаток от деления х на y”, “признак деления х на y”.

Теорема. Пусть f – n – местная ПРФ, тогда также являются примитивно рекурсивными. :

S(x1,x2…xn) = ( 1, … , −1, )

=0

P(x1,x2…xn) = ( 1, … , −1, )

=0

(Без доказательства).

Примитивная рекурсивность функции ―частное от деления х на y‖, ―остаток от деления х на y‖, ―признак деления х на y‖.

 

 

 

 

=

 

 

 

 

1) Частное от деления

 

 

 

 

 

 

 

 

 

 

 

 

=1

 

 

 

 

 

 

 

 

 

 

 

 

 

= 2 и

 

 

 

3; −7

x=7 y=3

 

 

 

 

 

 

=1

 

 

 

 

 

 

 

 

 

 

 

По теореме о примитивной рекурсивности суммы произведения примитивно рекурсивной

функции – ПРФ.

 

 

 

 

 

 

2) Остаток от деления

 

 

. , = −

 

 

− примитивно − рекурсивная ф − я.

 

 

 

 

 

 

 

 

 

3) Говорят,что

,

= 0 => , введем отдноместную функцию , ==

1,

,

= 0

 

 

 

 

 

0,

,

> 0

 

 

 

 

 

div(x,y)= (rest(x,y)) => ПРФ

Билет 30. Ограниченный оператор минимизации и его применения. Теорема Робинсона об одноместных примитивно рекурсивных функциях (без доказательства).

Оператор минимизации.

В теории рекурсивных функций важную роль играет действие нахождения данной функции φ(z) значения z, которая является наименьшим корнем уравнения φ(z)=0. Выполняющий это действие оператор является оператором минимизации или µ - оператор. Существует несколько разновидностей.

Сначала рассмотрим ограниченный µ-оператор.

Ограниченный µ-оператор равен наименьшему значению y, удовлетворяющему условию

& 1 −1, = 0(1) если такое существует.

Замечание : Ограниченный µ-оператор по данной n-местной функции f строит новую функцию, значение которой равно наименьшему y, удовлетворяющему условию (1) . Следствия описания оператора необходимо дополнить еще 1 условием. Пример ф-я = µ [ + 1 ] Теорема Робинсона (1911-1995) об одноместных примитивно – рекурсивных функциях. Все одноместные

ПРФ могут быть получены из функций = + 1 и = − − 2- конечным числом операции суперпозиции итераций, сложения функций.

Билет 31. Неограниченный оператор минимизации. Частично рекурсивные функции(ЧР). Тезис Черча о вычислимых функциях.

Неограниченный оператор минимизации

Переход f к g называется неограниченным µ-оператором минимизации и обозначается : g( 1… )=µ [f( 1… ,y)=b]

Частично рекурсивные функции. Определение Функция называется частично рекурсивной если она базовая или может быть получена исходя из базовой

функции, конечным числом применения операторов суперпозиции примитивной рекурсии и неограниченного оператора минимизации.

Замечание:

1)Из определений ПРФ и ЧРФ следует что множество ПРФ содержится в множестве ЧРФ. ПРФЧРФ

2)Ограничения y≤z в ограниченном µ- операторе даѐт гарантию окончания вычислений, поскольку оно ограничивает сверху число вычислений корня уравнения :

f(x1, …,xn-1, y) = 0

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

Всякая вычислимая функция является частично-рекурсивной.

В формулировке тезиса входит интуитивное понятие вычислимости, поэтому его нельзя доказать в обще принятом математическом смысле, опровергнуть его можно построив хотя бы один контр пример т.е. интуитивно вычислимую функцию не являющуюся ЧР. До сих пор примера построено не было и скорей всего их не существует!

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

Билет 32. Общерекурсивные функции. Функция Аккермана. Теорема Аккермана (без доказательства).

Всюду определѐнная ЧРФ называется общерекурсивной ОРФ ЧРФ

Из этих двух возникает гипотеза:

ПРФ

ЧРФ

 

ОРФ

ЧРФ

ПРФ=ЧРФ-?

По аналогии с тем что −1 (x) является ЧРФ, но не является ПРФ. Есть ОРФ-ии которые не являются ПРФ-ми.

Функция Аккермана Первый пример такой функции (всюду определяемая и вычислимая) придумал немецкий математик

Аккерман. Идея заключалась в построении последовательности функций B(x, y) каждая из которых растѐт существенно быстрее предыдущей и создание с помощью этой последовательности функции А(х) которая растѐт быстрее чем любой ПРФ-ций.

Построение функции Аккермана

0(a,y)=a+y1(a,y)=a*y2(a,y)=ay

, тогда

 

 

0

(a,0)=а

0(a,1)=a+1

 

1(a,0)=0

1(a,1)=a

(2)

2

(a,0)=1 ,

2(a,1)=a

 

1(a,y+1)=a+ay= 0(a, 1(a,y))2(a,y+1)=aay= 1(a, 2(a,y))

Продолжим эту последовательность, положим по определению

+1(a,0)=1

+1(a,1)=a (3)+1(a,y+1)= (a, +1(a,y))

(случай n=0 исключаем)

Схема (3) имеет вид примитивно рекурсивной следовательно все функции примитивно рекурсивны растут они крайне быстро НапримерЗаметим :что схема (3) согласуется с равенством (2) для

3(a,1)=a

3(a,2)= 2(a,a)=

3(a,3)=

 

и т.д

 

Зафиксируем теперь значения а. Получим последовательность функций:

0(2,y)

, 1(2,y),….

.

=

(2,y)=2+y

 

 

 

1,

= 1

(2,y)=2y и т.д.

Кроме того определим диагональную функцию А(х)=В(х,х)

Из соотношения (3) следует:

 

B(0,y)=2+y

 

(4)

B( ,,0)=sgnx

,=x+1

 

B( ,, ,)=B(x,B( ,, y))

,=y+1

Соотношение(4) позволяет вычислить значение функции B(x,y), а следовательно и функции А(х). При чѐм при вычислении функции в данной точке. Нужно обратиться к значению функции в предыдущеѐ точке, как в примитивной рекурсии только здесь рекурсия ведѐтся по 2ум переменным (называется двойной или рекурсией второго порядка) , и это существенно усложняет характер упорядочивания точек, следовательно и понятие предшествования точек так же усложняется.

Теорема Аккермана Функция Аккермана растѐт быстрее чем любая ПРФ и следовательно не является примитивно

рекурсивно функцией: более точно: Для любой 1местной ПРФ f(x) n:

х≥n A(x)>f(x)

Поскольку функция Аккермана всюду определена, то она является частным случаем ЧРФ, а именно ОРФ

Билет 33. Словарные функции. Определение машины Тьюринга.

Основная идея: имитация алгоритмических процессов с помощью абстрактной математической машины(т.е. машины Тьюринга). Эта машина за конечное число шагов из исходных числовых данных в соответствии с заданными правилами может получить искомый числовой результат. Такая модель была предложена А.М. Тьюрингом в 1936 году.

Тезис Тьюринга:

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

Словарные функции.

Пусть А -набор букв(алфавит),то А={а1,...аn}.Такая конечная последовательность букв этого алфавита называется словом.

=а1,…,аn, -слово, а1,…,аn-буквы, ai A, | |-длина слова(число букв), -пустое слово, т.е. | |=0.

Свойства слов.

1) = = ,

2) Закон ассоциативности: ( ) = ( ), 3) Отсутствие коммутативности:

 

 

А n – множество всех слов длиной n, А* – множество всех слов, из букв алфавита А :

А *= А n , а

 

n 0

n = а*а*…*а- n букв а, заметим, что 0 0 =1 0 = .

 

Слово, состоящее из бесконечного числа букв, называется сверхсловом.

 

А – множество всех сверхслов, состоящие из букв алфавита А.

 

Отображение f: A* B* – словарная функция.

 

Билет 34. Способы задания машин Тьюринга. Реализация на машине Тьюринга программы “перенос нуля”.

Машина Тьюринга включает в себя:

1. Внешний алфавит - конечное множество символов A {a0 , a1, a2 , , an}. В этом алфавите

в виде слова кодируется та информация, которая подается в машину. Машина перерабатывает информацию, поданную в виде слова, в новое слово. Обычно символ Внешний алфавит - конечное множество символов a0 обозначает пробел.

2.Внутренний алфавит - конечное множество символов Q {q0, q1, q2, , qm} . Для любой машины число состояний фиксировано. Два состояния имеют особое назначение q1 -

начальное состояние машины, q0 - заключительное состояние (стоп-состояние).

3.Бесконечная лента Бесконечная лента характеризует память машины. Она разбита на клеточки. В каждую клеточку может быть записан только один символ из внешнего алфавита.

4.Управляющая головка. Управляющая головка (УГ) передвигается вдоль ленты и может останавливаться напротив какой-либо клетки, т. е. считывать символ.

УГ

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

В каждом такте работы машины она действует по функциональной схеме, которая имеет вид:

aiqj avДqs

Здесь ai,av – буквы внешнего алфавита; qiqs – состояния машины; Д {R,L,C,P,E}. Символ стирания Е подразумевает запись в данную ячейку пустого символа.

Команда

Результат

 

 

α0 A

Перенос нуля.

q 1 001 х 0 q 0 01 х 00

При табличном представлении строки описывают текущее состояние МТ, столбцы, содержимое обозреваемой ячейки, а клетками этой таблицы являются правые части команд для соответствующей пары текущего состояния МТ.

q 1 0 q 2 R

0 q 2 01 х 0

 

 

q 2 0 q 3 1

0 q 3 11 х 0

q 3 1 q 3 R х+1 раз

011 х q 3 0

q 3 0 q 4 L

01 х q 4 10

q 4 1 q 5 0

01 х q 5 00

q 5 0 q 6 L

01 х 1 q 6 100

 

 

q 6 1 q 6 L x раз

q 6 01 х 00

q 6 0 q 0 0

q 0 01 х 00

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

Неприменимость машины Тьюринга.

Пусть m машинное слово в алфавите A Q машины T. Вычеркнем из слова m букву a0 и буквы из Q. Получаем редуцированное слово [m].

Редуцированное слово [m] перерабатывается машиной T в(редуцированное) слово b ,если для некоторой программы β и некоторго p/

q1 a0 [m]→(q1 a0 [m])(1) ... →(q1 ao [m])( p) q0 (q1 a0 [m])( p) , b=[(q1 a0 [m])( p)]

Символически факт переработки слова [m] записываем в виде b=β ([m])

Если ни для какого натурального p не выполняется условие q0 (q1 a0 [m])( p)

то говорят,что машина неприменима к слову [m]. В этом случае выражение β ([m]) является неопределенным.

Тезис Тьюринга. Все вычислимые частичные функции вычисляются на машинах Тьюринга-Поста. Теорема 1 Все частично словарные функции,вычислимые на машине Тьюринга,являются частично рекурсивными.

Теорема 2 Для любой частично рекурсивной функции существует вычисляющая ее машина Тьюринга.

Билет 36 . Определение нормального алгоритма Маркова и порядок его работы.

Определение. Нормальный алгоритм Маркова задается алфавитом A в котором он работает и списком подстановок. Список подстановок это функциональная схема алгоритма. Так же как МТ каждый НАМ предназначен для решения задач определенной массовой проблемы.

Порядок работы.

Порядок работы НАМ N над словом состоит из выполнения одним за другим однотипных шагов. На шаге i=0 зарождается исходное слово на последующих шагах функциональная схема алгоритма применяется к αi1 и перерабатывает его в αi

αi1 | αi

Таким образом в процессе работы алгоритма получается последовательность слов: α0, α 1, ... α i1 ,αi , ...

Процесс работы НАМ заканчивается после выполнения шага K=0,1,2,... На слове αk , если на шаге k осуществимо действие заключительной перестановки или на шаге k+1 список подстановок не может переработать слово αk

Билет 37. Пример работы нормального алгоритма Маркова. Тезис Маркова. Теорема об эквивалентности машин Тьюринга и нормальных алгоритмов Маркова.

Пример:

101 1

N: 01 10 00

a)0 11 - работа алгоритма заканчивается после шага 0, т.к. алгоритм не может переработать 0 .

b)0 001

001

011 - результат работы N (001) 111 (111 переработать не может)

111

c)0 10101

10101

101 - N (10101) 101(т.к. 101 – заключительная подстановка)

d)0 10 10

100

- алгоритм не применим, т.к. бесконечен.

1000

 

.......

 

Тезис Маркова:

Любой алгоритм в алфавите А может быть реализован некоторым нормальным алгоритмом над алфавитом А.

Теорема об эквивалентности МТ и НАМ:

Какова бы ни была МТ – Т ( НАМ - N) в алфавите А, существует НАМ N (МТ Т) над алфавитом А такой, что для всех слов , A* , справедливо:

N ( ) тогда и только тогда, когда Т ( )

Билет 38. Сравнительный анализ трех типов алгоритмических моделей. Оценка сложности алгоритма.

Анализ трех типов моделей показал, что основные свойства алгоритмов дискретности, детерминированности, массовости и результативности остаются неизменными для различных способов описания. Все три алгоритмических модели эквивалентны, что позволяет рассматривать вычислительный алгоритм инвариантным к способу описания.

Различия наблюдаются в использовании конструктивных объектов.

 

Рекурсивные функции

Машины Тьюринга

Нормальные

 

 

 

алгоритмы Маркова

Конструктивные

Числовые функции,

Символы алфавитов внешней

Слова.

объекты

определенные на

памяти (на информационной

 

 

множестве натуральных

ленте) и внутренней памяти

 

 

чисел с нулем.

(состояний управляющего

 

 

 

устройства).

 

Задание

Операторами

Протоколом, использующим

Правилами

процесса

суперпозиции,

функции перемещения

подстановки,

вычисления

примитивной рекурсии и

управляющего устройства, а

изменяющими состав и

 

минимизации.

также функции выхода (записи

структуру исходного

 

 

нового символа на ленте) и

слова до искомого

 

 

перехода (из одного

результата.

 

 

внутреннего состояния в

 

 

 

другое).

 

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

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

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

 

Рекурсивные функции

Машины Тьюринга

Нормальные алгоритмы

 

 

 

Маркова

Сложность

Число букв и символов,

Число команд.

Число правил подстановки.

описания

используемых в описании

 

 

алгоритма

операторов.

 

 

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

Время вычисления алгоритма характеризуется произведением числа шагов алгоритма от исходных данных до искомого результата на среднее физическое время реализации одного шага алгоритма. Число шагов алгоритма определяется его описанием в данной алгоритмической модели.

Среднее физическое время зависит от типа компьютера, способов хранения и выборки данных и скорости обработки информации.

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

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

Билет 39. Алгоритмически неразрешимые проблемы: проблема остановки машины Тьюринга, проблема ее самоприменимости, проблема эквивалентности слов в ассоциативном исчислении.

Рассмотрим следующую задачу. По любому алгоритму А и данным а определить, приведет ли к результату работа А при исходных данных а. Иначе говоря, нужно построить алгоритм В такой, что В(А, а)=И, если А(а) дает результат, и В(А, а)=Л, если А(а) не дает результата. В силу тезиса Тьюринга эту задачу можно сформулировать как задачу о построении машины Тьюринга: построить машину Т0, такую, что для любой машины Тьюринга Т и любых исходных данных а для машины Т Т0(ST, а)=И, если машина T(а) останавливается, и Т0(ST, а)=Л, если машина Т(а) не останавливается. (Здесь ST – система команд машины Т). Эта задача называется проблемой остановки машины Тьюринга.

Теорема о неразрешимости проблемы остановки для произвольной машины Тьюринга. Не существует машины Тьюринга Т0, решающей проблему остановки для произвольной машины Тьюринга Т.

В силу тезиса Тьюринга невозможность построения машины Тьюринга означает отсутствие алгоритма решения данной проблемы. Поэтому полученная теорема дает первый пример алгоритмически неразрешимой проблемы (и потому у нее такое название!).

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

Частным случаем проблемы остановки является проблема самоприменимости. Суть этой проблемы заключается в следующем. Программу машины Тьюринга можно закодировать каким-либо определенным шифром. На ленте машины можно изобразить ее же собственный шифр, записанный в алфавите машины. Здесь, как и в случае обычной программы возможны два случая:

машина применима к своему шифру, т.е. она перерабатывает этот шифр и после конечного числа тактов останавливается;

машина неприменима к своему шифру, т. е. машина никогда не переходит в стоп-состояние. Таким образом, сами машины (или их шифры) разбиваются на два класса: самоприменимых и

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

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