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

билеты пдф

.pdf
Скачиваний:
11
Добавлен:
10.02.2015
Размер:
1.46 Mб
Скачать

Суммарный вес равен 3.

Суммарный вес равен 0.

Также считаем, что для любой пары ребер их весовые характеристики будут различны. Это гарантирует уникальность построенного минимального остовного дерева. Для примера, если все ребра имеют единичный вес, то любое остовное дерево будет минимальным (с суммарным весом v-1, где v – количество вершин в графе).

Все возможные минимальные остовные деревья для данного графа.

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

SHORTER-EDGE(i;j;k;l)

1:if w(i,j) < w(k,l) then return (i,j)

2:if w(i,j) > w(k,l) then return (k,l)

3:if min(i,j) < min(k,l) then return (i,j)

4:if min(i,j) > min(k,l) then return (k,l)

5:if max(i,j) < max(k,l) then return (i,j)

6:return (k,l)

БИЛЕТ 50 Неформализованное понятие алгоритма

Термин пошел от фамилии азиатского ученого Ал-Хорезмы.

Под алгоритмом принято понимать конечную совокупность инструкций (команд), согласно которой работает исполнитель алгоритма.

Для алгоритма характерны следующие свойства:

1.Пошаговость;

2.Дискретность (точность, четкость);

3.Элементарность каждого шага;

4.Детерминированность каждого шага (такт);

5.Направленность;

6.Должны быть четко указаны форматы входных и выходных данных;

7.Начальная (стартовая) команда и команда остановки должны выполняться. Долгое время это неформальное понятие алгоритма удовлетворяло потребности.

В начале 20в.появилась необходимость уточнения (формализации) данного понятия. Практически одновременно появилось несколько формализаций. Одной из них было понятие «Машины Тьюринга».

БИЛЕТ 51 Машины Тьюринга.

Долгое время неформальное понятие алгоритма удовлетворяло потребности.

В начале 20в. появилась необходимость уточнения (формализации) понятия. Практически одновременно появилось несколько формализаций. Одной из них было понятие «Машины Тьюринга» (англ. математик Алан Тьюринг (1936-1037гг)) – М.

М состоит из составных частей

1)Пишущая читающая лента;

2)Пишущая читающая головка;

3)Устройство управления;

4)Программа.

Имеется конечный рабочий алфавит А.

А = {a0, a1, …, an-1}.

Символ а0 = ˄ - квантовый (особый) символ, символ пробела. Лента разбита на ячейки и бесконечна в обе стороны.

В каждый момент времени в каждой ячейке ленты записан ровно 1 символ из алфавита А. В каждый момент времени читающая головка обозревает ровно одну ячейку ленты. В каждый момент времени устройство управления находится ровно в одном из состояний (их всего Q).

Q = {q0, q1, …, qn-1}, q1 – начальное состояние, q0 - стоп-состояние.

 

Программа состоит из команд, каждая команда имеет вид:

гд

ы

д

 

М работает по такту в дискретном времени: t = 1, 2, 3 … .

На каждом такте выполняется одна команда. Пусть в некоторый момент времени t УУ находится

всостоянии qi, а головка обозревает ячейку, в которой записан символ aj, тогда выполняется qiaj

.

Замечание. В программе не должно быть двух разных команд с одной и той же первой частью. Выполнение команды заключается в том, что символ aj стирается и на его место записывается al; головка сбивается на одну ячейку влево или вправо, либо остается на месте в зависимости от ; и к моменту времени t+1 УУ переходит в состоянии qr функционирование М прекращается, когда

УУ перейдет в стоп-состояние (q0).

 

 

Машина Тьюринга M вычисляет словарную функцию

ы

ы

д ы

 

 

Берем x=x1,x2, …,xn ϵ X*.

Пусть f(x)=y1,y2, …yp , тогда M должна, начиная со стандартной начальной конфигурации со словом Х, перейти в заключительную стандартную конфигурацию со словом У.

Если f(x) не определена, то М не должна останавливаться. Т.е. было

стало:

Т.

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

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

3)Q – конечное (количество состояний).

БИЛЕТ 52 Примеры построения машин Тьюринга

Таблица управления машиной Тьюринга – распознавание симметрии.

qi\aj

0

1

˄

коммент.

q1

˄Rq2

˄Rq3

1Sq0

 

q20

0Rq2

1Rq2

˄Lq4

 

q3

 

 

 

 

q4

˄Lq5

˄Lq6

1Sq0

 

q5

0Lq5

1Lq5

˄Rq1

 

q6

˄Lq6

˄Lq6

0Sq0

 

q7

^Lq6

˄Lq5

1Sq0

 

БИЛЕТ 53 Функции, вычислимые по Тьюрингу.

Пусть =( 1, ..., n), n 1- произвольный набор целых неотрицательных чисел. Слово

1 1+101 2+10...01 n+1 называется основным машинным кодом или просто кодом набора в алфавите {0,1} и обозначается k( ). Слово 1 +1 также является основным машинным кодом. Для ясности 13 это 111.

Определение. Функция f(x1,...,xn), n 1, называется частичной числовой функцией, если переменные xi принимают целые неотрицательные значения из натурального ряда

N={0,1,2,…, ,…} и на наборе функция определена, т.е. f()=f( 1,..., n) , и также принимаeт целые неотрицательные значения.

Определение. Частичная числовая функция называется вычислимой по Тьюрингу, если существует МТ Тf, обладающая следующими свойствами:

1) если функция f() определена, то результатом применения МТ к коду будет являться код целого неотрицательного числа.

Тf(k())=k(f())

2) если f( ) не определенна, то либо МТ Tf не применима к слову k(), либо Tf(k()) не является кодом никакого целого неотрицательного числа.

Предполагается, что в начальный момент времени головка МТ Tf обозревает самую левую

крайнюю единицу слова k().

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

^Тезис Тьюринга: Всякий интуитивный алгоритм может быть реализован с помощью МТ. Тезис Черча-Тьюринга: Всякая интуитивно вычисляемая функция вычислима по Тьюрингу.

^МТ как математическое понятие алгоритма.

В каждой МТ имеются: три конечных множества A, Q, T, выделенные элементы a0 A, q0,q1 Q и программа, представляющая собой отображение вида F: A Q\{q0} A T Q. (7.3) Определение. МТ называется система вида 0, Q, q0, q1, T, >, где - программа МТ.

Какую бы МТ ни взяли, можно считать, что имеется алгоритм, исходным объектом, промежуточным и окончательным результатами которого являются слова в алфавите А. Предписанием, задающим этот алгоритм, является программа - точное математическое понятие отображения. Т.о., с математической точки зрения МТ - это алгоритм переработки слов, заданных в алфавите этой машины.

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

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

Пример: 1) Построить МТ, вычисляющую функцию f(x,y)=x+y. В качестве внешнего алфавита возьмем

A={a0, 1} , где a0пустой символ. Тогда в этом алфавите

0 - 1

1 - 11

2 – 111

3 - 1111, и т.д.

Q={q0,q1,q2,q3,q4}

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

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

1q1 1Пq1

a0 q1 1Пq2

1q2 1Пq2 a0q2 a0Лq3

1q3 a0Лq4

1q4 a0Лq0

Можно показать, что все арифметические функции вычислимы по Тьюрингу.

БИЛЕТ 54 Тезис Тьюринга-Чёрча.

Класс функций, вычислимых алгоритмически (в интуитивном смысле слова), совпадает с классом функций вычислимых по Тьюрингу.

Доводы:

1)Все формализации понятия алгоритма и алгоритмически вычислимой функции оказались равнообъемными.

Примеры формализации: частично рекурсивные функции Чёрча, машины КомогороваУспенского (мощнее машины Тьюринга), программы на алгоритмическом языке (Pascal).

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

3)Все функции, которые признавались алгоритмически вычислимыми, оказались вычислимыми по Тьюрингу.

4)Деятельность тысяч программистов.