
- •1. Лекційні заняття Загальний обсяг занять 28 год.
- •1. Історія становлення поняття інформації. Основні підходи у визначенні її поняття. Структурно-синтаксичні концепції інформації. (2 год.)
- •Литература Урсул а.Д. Проблема информации в современной науке. Философские очерки. - м.: Наука, 1975
- •2. Кількість інформації. Одиниця інформації. Поняття ентропії. Можливості та обмеження класичних кількісних підходів до поняття інформації. (2 год.)
- •3. Семантична концепція інформації. Поняття тезаурусу. Закономірності сприяння інформації в рамках тезаурусної моделі. (2 год.)
- •Поняття інформаційної взаємодії та її типологія. (2 год.)
- •Поняття інформаційного ланцюга. Проблеми взаємодії наук у його дослідженні.
- •1. Знаковая ситуация
- •Возникновение и история развития кибернетики.
- •Предмет и методы кибернетики.
- •Классы кибернетических задач.
- •История информатики.
- •Предмет информатики.
- •Роль информатики в современном мире
- •Общее и особенное в кибернетике и информатике.
- •Развитие наук на Украине.
- •Литература.
- •10. Формальні мови та граматики. (2 год.) Формальные языки.
- •Грамматики
- •11. Елементи теорії алгоритмів. Машина Тьюринга. (2 год.)
- •12. Елементи теорії нечітких множин. (2 год.)
- •Інформація як ресурс (трудовий, економічний, соціальний). Виробництво, управління та інформація. Оптимізація використання інформації як ресурсу (мікрорівень). (2 год.)
11. Елементи теорії алгоритмів. Машина Тьюринга. (2 год.)
МАШИНА ТЬЮРИНГА
Вопрос: можно ли уточнить непосредственно само понятие алгоритма, а затем с его помощью определить и класс вычислимых функций?
Это было сделано в 1936-37 гг. Постом и Тьюрингом независимо друг от друга.
Основная мысль Поста и Тьюринга заключалась в том, что алгоритмические процессы - это процессы, которые может совершать подходяще устроенная "машина". В соответствии с этим ими с помощью точных математических терминов были описаны довольно узкие классы машин. На этих машинах оказалось возможным осуществить или имитировать все алгоритмические процессы, которые фактически когда-либо описывались математиками.
Машины, введенные Постом и Тьюрингом, отличались не очень существенно, и в дальнейшем стали называться машинами Тьюринга.
Под машинами Поста и Тьюринга понимается некоторая гипотетическая (условная ) машина, состоящая из следующих частей:
информационной ленты, представляющей собой бесконечную (неограниченную) память машины, разделенную на отдельные ячейки. В каждой ячейке можно поместить лишь один символ, в том числе и нуль;
"считывающей головки" - специального чувствительного элемента, способного обозревать содержимое ячеек. Вдоль головки информационная лента перемещается в обе стороны так, чтобы в каждый рассматриваемый момент времени головка находилась в одной определенной ячейке ленты;
управляющего устройства, которое в каждый рассматриваемый момент находится в некотором "состоянии". Предполагается, что устройство управления машины может находиться в некотором конечном числе состояний. Состояние устройства управления часто называют внутренним состоянием машины. Одно из этих состояний называется заключительным и в работе машины играет особую роль, так как оно управляет окончанием работы машины.
Схематически машина представлена на рис.1.
q
j
Рис. 1.
В алгоритмической системе Поста информация представляется в двоичном алфавите.
Таким образом, в каждой ячейке информационной ленты можно поместить либо 0, либо 1. Алгоритм представляется в виде конечного упорядоченного набора правил, называемых приказами. Работа алгоритма начинается с некоторой начальной ячейки, соответствующей первому приказу алгоритма. Составляющие алгоритм приказы могут принадлежать к одному из 6, выполняемых машиной Поста:
-
Записать в рассматриваемую ячейку 1 и перейти к j- тому приказу.
-
Записать в рассматриваемую ячейку 0 и перейти к i- тому приказу.
-
Сдвинуть ленту вправо на одну ячейку и приступить к выполнению i- того приказа.
-
Сдвинуть ленту влево на одну ячейку и приступить к выполнению i- того приказа.
-
Если в рассматриваемой ячейке записана 1, то перейти к выполнению j-того приказа, а если записан 0, то перейти к выполнению i- того приказа.
-
Окончание работы алгоритма, остановка.
Таким образом, алгоритмическая машина Поста представляет собой машину с информационной лентой, содержащей в каждой ячейке либо 0, либо1; с лентой, перемещающейся влево и вправо вдоль головки; с устройством управления, выполняющим 6 приказов (с внутренними состояниями).
Алгоритмы, составленные из любого конечного числа правил, представленных приказами машины Поста, называются алгоритмами Поста. Доказано, что алгоритмы Поста сводятся к алгоритмам, реализуемым с помощью частично рекурсивных функций, и наоборот, любая частично рекурсивная функция может быть представлена алгоритмом системы Поста..
В отличие от машины Поста в каждой ячейке машины Тьюринга может находиться один из символов некоторого конечного алфавита, а устройство управления может быть в одном из конечных состояний. Другими словами, машина Тьюринга, работая в произвольном конечном алфавите, может выполнять некоторое конечное количество приказов. При этом машины Тьюринга, как и машины Поста, могут сдвигать ленту на одну ячейку вправо или влево, оставляя содержимое ячеек неизменным, или могут заменять состояние воспринимаемой ячейки, оставляя ленту неподвижной.
Пусть алфавит машины Тьюринга задан в виде множества А= {s0 , si , ... sn}, где s0 соответствует пустой ячейке, а число состояний устройства задано в виде множества
Q = {q0 , qi, ... qm}, где q0 соответствует заключительному состоянию.
Конечная совокупность символов алфавита, с которой работает машина, называется внешним алфавитом, конечная совокупность состояний устройства управления - внутренним алфавитом.
Совокупность, образованная последовательностью состояний всех ячеек ленты и состоянием устройства управления, называется конфигурацией машины. Конфигурация задается в виде слова, описывающего конкретное состояние машины.
Если машина Тьюринга, находясь в состоянии qi , и воспринимая записанный на ленте символ sk , переходит в новое состояние qj , осуществляя при этом замену символа в рассматриваемой ячейке на символ sm и сдвиг ленты на одну ячейку, то говорят, что машина выполняет команду qi sk qj smЛ. Если замены не происходит, sm может в команде отсутствовать.
При манипуляциях с лентой принимаются следующие обозначения:16
Л - движение ленты влево;
П - движение ленты вправо;
С - нет движения ленты (стоп).
Рассмотрим пример машины Тьюринга с алфавитами А = {0,1}, Q = { q0, q1 } и командами:
q11q11Л,
q10, q01С.
Пусть на ленте имеется слово 11100. Головка расположена над первой слева единицей. В результате работы машины Тьюринга это слово превращается в 11110. По окончании работы машины головка стоит над крайней правой единицей.
Совокупность всех команд, которые может выполнять машина, называется ее программой.
Будем считать машину Тьюринга заданной, если заданы ее внешний и внутренний алфавиты, программа, начальная конфигурация и указано, какие из символов обозначают пустую ячейку и заключительное состояние.
Пусть машина Тьюринга задана внешним алфавитом А= {s0 , a, b, c, d} и внутренним алфавитом Q = {q0 , q1, q2 , q3 , q4 , q5}, и совокупностью команд
q0 a q1 aЛ, q0 b q0 bЛ, q2 a q5 dП, q0 c q0 cЛ, q1 d q2 cП, q3 a q4 dП, q4 b q2 cП.
Пустую ячейку обозначает символ s0 , а заключительное состояние - q5.
Рапссмотри применение данной машины Тьюринга для переработки исходного слова bcadc, которое даст нам слово bcdcc. Начальная конфигурация имеет вид q0bcadc, при этоммашиной будет порождена следующая последовательность конфигураций:
1 шаг bq0cadc, результат выполнения команды (q0 b q0bЛ)
2 шаг (q0 c q0 cЛ)
3 шаг (q0 a q1 aЛ)
4 шаг (q1 d q2 cП)
5 шаг (q2 a q5 dП)
Программа рассмотренной машины Тьюринга может быть представлена в виде таблицы соответствия:
Q |
s0
|
a |
b |
c |
d |
q0 |
|
q1 aЛ |
q0bЛ |
q0 cЛ |
- |
q1 |
|
- |
- |
- |
q2 cЛ |
q2 |
|
q5 dП |
- |
- |
- |
q3 |
|
q4 dП |
- |
- |
q2 bП |
q4 |
|
- |
- |
- |
- |
q5 |
Останов |
Запись алгоритма, реализуемого машиной Тьюринга, производится с помощью работы этой машины, представляющей собой совокупность команд. В рассматриваемом примере алгоритм переработки входного слова bcadc в слово bcdcc представляется командами:
(q0 b q0bЛ), (q0 c q0 cЛ), (q0 a q1 aЛ), (q1 d q2 cП), (q2 a q5 dП).
Алгоритмы пишутся столбцами. Для контроля против некоторых команд указывается слово, в которое переходит первоначально заданное слово после выполнения всех предыдущих команд, включая и стоящую слева команду.
Рассмотрим в качестве примера алгоритм переноса нуля для машины Тьюринга, программа которой задана следующей таблицей соответствия:
-
А
Q
0
1
q0
q0 0C
q01C
q1
q2Л
-
q2
q31С
-
q3
q4П
q3Л
q4
-
q50C
q5
q6П
-
q6
q0 0C
q6П
Команды Конфигурация
-
q10 q2Л
0q2 010
q20 q31С
0q3 110
q3 1 q3Л
01q310 011q30
q3 0 q4П
01 q4 10
q4 1 q50С
01 q5 00
q50 q6П
0 q6 100
q61 q6 П
q6 0100
q6 0 q00С
q0 0100
Как было показано, на машинах Тьюринга оказалось возможным осуществить или имитировать все алгоритмические процессы, которые когда-либо описывались математиками. Было доказано, что класс функций, вычислимый на этих машинах, точно совпадает с классом всех частично рекурсивных функций.
Вопрос о возможности или невозможности разрешающего алгоритма для задачи того или иного типа следует понимать как вопрос о существовании или несуществовании машины Тьюринга, обладающей нужным свойством.
Рассмотрим еще пример (здесь "П" и "Л" означают перемещение головки, а не ленты).
Как видно из таблицы, управляющее устройство может находиться в трех различных состояниях. Состояние q0 особое. Оно соответствует выключенной машине.
-
q0
q1
q2
0
q0 0 С
q1 П
q01 С
1
q2 1 С
q2 П
q2 1 П
+
q0+ С
q01 С
Как видно из первого столбца таблицы, в состоянии q0 символы на ленте сохраняются неизменными, само состояние не меняется, и движения нет (С - стоп). Два других состояния - рабочие. Работа машины начинается с того, что управляющее устройство переводится в состояние q1. При этом слово на ленте справа от местоположения "глаза" управляющего устройства. Пусть, например, имеется исходная ситуация:
00111+1100
q1 q10 q10П
Местоположение управляющего устройства отмечено символом состояния q1. Обратимся к таблице. В состоянии , считав символ 0, машина должна сохранить свое состояние и сдвинуться вправо на одну клетку ленты (П). После этого возникнет ситуация:
00111+1100
q1 q10 q10П
Она аналогична предыдущей, и машина Тьюринга на этом такте выполнит сдвиг вправо на одну клетку, сохранив состояние q1 . В результате возникнет другая ситуация. Считав символ 1 в состоянии q1, машина стирает его, заменяет на 0, меняет состояние на q2 и сдвигается вправо на одну клетку ленты. Новая ситуация имеет вид:
00011+1100
q2 q11 q20П
В состоянии q2, как следует из таблицы управления, все символы 1 на ленте сохраняются, состояние q2 тоже сохраняется, а управляющее устройство сдвигается вправо. Так будет происходить до тех пор, пока не возникнет ситуация:
q21 q21П
00011+1100
q2 q2+ q01С
Таблица управления в этой ситуации предписывает заменить + на единицу и прекратить работу.
Окончательная ситуация на ленте:
0001111100. Результат
Какую же работу выполнила машина? Если договориться интерпретировать слова ее входного языка как записи натуральных чисел, а + - как сложение, то машина, заданная таблицей управления, будет осуществлять операцию сложения натуральных чисел.
В примере - 3+2=5.