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

Элементы дискретной математики. Учебно-методическое пособие к выполнению расчетно-графической работы

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
3.3.2. Программа работы машины Тьюринга
Q A A Q D
,
ij
qa
, ,
k p s
a q d
s
dD
, , ,
i j k p s
q a a q d
i j k p s
q a a q d
1
j k p s
q a a q d
0
i r l s
q a a q d
0 1 2
, , ,...,
m
Q q q q q
01
, ,...,
n
A a a a
A
Q
a0
a1 … aj
…
an
q0
q1
…
qi ak qp ds
…
qm
Работу машины определяет частичное отображение
,
где 󰇝
поставляется тройка
Конструкция вида
󰇞
– алфавит перемещений, т.е. паре
,
.
или
со-
называется командой. Пусть Т – множество всех команд маши­ны. Символ q0 не может входить в левую часть какой-нибудь ко­манды из Т. Никакие две команды из Т не имеют совпадающие левые части.
Упорядоченная последовательность команд, начинающаяся с команды
и завершающаяся командой
называется программой машины Тьюринга.
Формально машина Тьюринга определяется как тройка: мно­жество состояний
, алфавит
и множество команд T.
Всю работу машины можно задать с помощью функциональ­ной таблицы (см. табл. 2).
Таблица 2
,
41
Если на паре
,
ij
qa
,
ip
qq
,
j k l
a a d
i
xq y
i
q
ветствующая клетка остается незаполненной. Строка, соответ­ствующая состоянию q0, остается незаполненной.
Используя функциональную таблицу, работу машины Тьюринга можно задать с помощью графа, вершины которого взаимно однозначно соответствуют состояниям, а дуги – перехо-
не определено отображение, то соот-
дам из одного состояния в другое. Дуга
.
3.3.3. Вычисления на машине Тьюринга
Конфигурацией машины Тьюринга в данный момент времени называется полная информация о внутреннем состоянии машины.
Конфигурация может быть записана в виде слова влетворяющего следующим условиям:
1) xy – слово, полученное соединением слов x и y и записан-
ное на ленте;
2) левее слова x и правее слова y все клетки ленты содержат
букву a0;
3) x – слово, расположенное на ленте слева от головки; это
слово может быть и пустым;
4) y – слово, расположенное на ленте справа от головки;
5)
– состояние, в котором машина находится в рассматри-
взвешена парой
, удо-
ваемый момент времени;
6) головка машины обозревает клетку, в которой записана
первая буква слова y.
42
Конфигурация называется начальной, если она содержит
12
, ,...,
s
K K K
s
K
i
K
1iK
0
a
1
,...,
k
F x x
12
, ,...,
k
w w w
1 0 1 0 2 0 0
...
k
q a w a w a a w
0 0 1 2
, , ...,
k
q a F w w w
2
x
 

символ q1, и заключительной, если она содержит символ q0. Функционирование машины – это последовательность
конфигураций, где K1 – начальная,
– заключи-
тельная. Переходы от
к
осуществляются в соответствии с
функциональной таблицей машины.
Слово, объявляемое значением алгоритма, определяется как последовательность символов, оказавшихся на ленте, считая в порядке слева направо, в момент прекращения работы машины. Пустые клетки ленты, которые могут при этом встретиться, счи­таются заполненными символом
Пусть
– функция, определенная на множестве
.
всех слов в алфавите A. Машина Тьюринга правильно вычисляет функцию F, если для любых слов
в том же алфави-
те, начав работу в конфигурации
,
машина закончит еѐ в конфигурации
.
В состоянии q0 головка должна остановиться над той же ячейкой, над которой она была в начальной конфигурации.
Пример. Построить машину Тьюринга для правильного вы- числения функции
чисел.
Решение. Любое натуральное число m на ленте будем запи- сывать следующим образом:
определенной на множестве натуральных
43
0
, *, 1Aa
0
a
0 2 0 0
**...* 1
k
a q a a
0 2 0 0
**...* 1 1...1
k
a q a a
0 2 0 0
**...*
k
a q a a
0
a
1k 
...
m
1
1 1
1
1
1
Алгоритм построения машины Тьюринга в алфавите
.
1. Шаг работы – крайнюю левую единицу числа, записанного
на ленте, заменяем на символ *, крайнюю правую единицу заме­няем на символ
. Головка, двигаясь влево, останавливается над
клеткой перед первой клеткой с символом *.
2. После выполнения k шагов может встретиться только
один из трех случаев:
а)
;
3. В случае а) делаем вывод: x – нечетное число. Заменяем
последнюю единицу на
4. В случае б) выполняем
5. В случае в) делаем вывод: x – четное число.
Все * заменяем на единицы.
Функциональная таблица машины Тьюринга имеет вид (см. табл. 3).
б)
в)
;
.
, а все * заменяем на единицы.
-й шаг.
44
A
Q
0
a
1
*
0
q
1
q
02
aq
2
q
08
aq
3
1 q
3
q
09
aq
4
1 q
4
q
5
* q
5
q
06
aq
5
1 q
6
q
07
aq
7
q
7
1 q
2
* q
8
q
00
Haq
8
1 q
9
q
08
aq
Таблица 3
45
4. Методические указания к выполнению
( , , )f x y z
(1, 1, 0) (1, 1, 1) (1, 0, 1) (0, 0, 1) 1f f f f
( , , )f x y z xyz xyz xyz x yz
( , , )f x y z
(1, 1, 0), (1, 1, 1), (1, 0, 1), (0, 0, 1)M 
z
y
x
(0, 0, 0)
(1, 0, 0)
(1, 1, 0)
(0, 1, 0)
(1, 1, 1)
(0, 1, 1)
(1, 0, 1)
(0, 0, 1)
расчетно-графической работы
4.1. Графический метод
Найти СДНФ и минимальную ДНФ булевой функции
, если
Решение. Используя формулу (3.1.1), находим СДНФ буле- вой функции
.
Для функции
имеем
.
.
Рис. 3
46
Ребру
(1, 1, 0), (1, 1, 1)
xyz xyz xy z z xy
(1, 0, 1), (1, 1, 1)
xyz xyz xz y y xz
(1, 0, 1), (0, 0, 1)
,yz
xyz xyz yz x x yz
M
(1, 1, 0), (1, 1, 1)
(1, 0, 1), (0, 0, 1)
xy yz
41 45 43 41
min , , min 1, 3, 5 1w w w w  
3
4
1
6
2
5
3
2
3
2
3
3
1
1
4
5
соответствует конъюнкция xy, по-
скольку
Ребру
скольку
Ребру
скольку
Все ребра множества
и ребро
.
соответствует конъюнкция xz, по-
.
соответствует конъюнкция
.
(см. рис. 3) охватывает ребро
. Поэтому записы-
ваем минимальную ДНФ
.
4.2. Минимальное остовное дерево взвешенного графа
Найти минимальное остовное дерево взвешенного графа (рис. 4), применяя алгоритм ближайшего соседа [2].
по-
Решение.
Шаг 1. Выбираем вершину a4. Находим
Рис. 4
47
.
В дерево включаем ребро
41
, aa
1
a
45 43 16 15 12 12
min , , , , min 3, 5, 3, 4, 2 2w w w w w w  
12
, aa
45 43 16 15 25 23 25
min , , , , min 3, 5, 3, 4, 1, 3 1 .w w w w w w w  
25
, aa
5
a
45 43 16 15 23 56 53
min , , , , , , min 3, 5, 3, 4, 3, 2, 3)w w w w w w w 
56
2 w
56
, aa
45 43 16 15 23 53
min , , , , , min 3, 5, 3, 4,w w w w w w
53
3, 3 3 w
53
, aa
3
4
1
6
2
5
3
2
2
1
1
и вершину
.
Шаг 2. Рассматриваем две вершины a4 и a1. Находим
. В дерево
включаем ребро
и вершину a2.
Шаг 3. Рассматриваем три вершины a4, a1 и a2. Находим
во включаем ребро
и вершину
.
Шаг 4. Рассматриваем четыре вершины a4, a1, a2 и a5. Нахо- дим
. В дерево включаем ребро
и вершину a6.
Шаг 5. Рассматриваем вершины a4, a1, a2, a5 и a6. Находим
во включаем ребро
и вершину a3.
Алгоритм прекращает работу, поскольку пройдены все вер­шины графа.
Получаем минимальное остовное дерево взвешенного графа
(рис. 5).
В дере-
. В дере-
Рис. 5
Вес остовного дерева равен 9.
48
4.3. Алгоритм Дейкстры
5
a
5
a
1
a
0 3 1 1 0 2
3 0 3
1 0 4
2 0 4 5
4 1 0 1 6
2 3 0 7
W
 

 

 


 


0
1, 2, 3, 4, 5, 6, 7T
3
4
1
7
6
5
3
2
3
2
3
1
1
1
4
1
2
1
4
Пользуясь алгоритмом Дейкстры [1], найти взвешенные рас­стояния от вершины
до всех остальных вершин взвешенного
орграфа (рис. 6) и найти кратчайший маршрут от вершины вершины
.
Рис. 6
Находим матрицу весов графа
(4.3.1)
до
и множество номеров вершин
49
.
Шаг 1
5
a
 
1
, , , 2, 0, 4, L    
1
1, 2, 3, 4, 6, 7T
 
2
4
min , , , 2, 4, 2 l    
4
a
2
1, 2, 3, 6, 7T
, , 1, 0, , ,     
4
a
 
2
1
min , 2l     
 
2
6
min 4, 2 4l  
 
2
2
min , 2l     
 
2
7
min , 2l     
 
2
3
min , 1 2 3l
 
2
, , 3, 2, 0, 4, L   
 
3
3
min , , 3, 4, 3 l    
3
a
3
1, 2, 6, 7T
, 3, 0, , , ,    
 
3
1
min , 3l     
 
3
6
min 4, 3 4l  
 
3
2
min , 3 3 6l
 
3
7
min , 3l     
 
3
, 6, 3, 2, 0, 4, L  
Выбираем вершину стояний
, определяем строку взвешенных рас-
и множество
.
Шаг 2
1) Находим
вершину
и образуем множество
, выбираем
.
2) Выписываем из матрицы (4.3.1) строку
, соответствующую выбранной вершине
3) Определяем
4) Записываем строку взвешенных расстояний
·
Шаг 3
1)
2)
, вершина
,
.
.
3)
4)
.
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]