Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ткаченко В.М. Учебное пособие для студентов заочной формы обучения.doc
Скачиваний:
54
Добавлен:
02.05.2014
Размер:
1.93 Mб
Скачать

4.3. Последовательные модели вычислителей (машины Тьюринга)

В основу любого поведения принято закладывать понятие алгоритм описывающего на естественном или искусственном языках порядок выполнения элементарных операций (шагов) для достижения той или иной цели (решение математической задачи, стратегия в игре, построение некоторой модели и т.д.)- Каждый человек постоянно в жизни сталкивается с необходимостью создания различного рода планов (алгоритм для достижения конкретно поставленных целей, при этом не имея значения, как он это делает и осознает ли сам данный аспект своего поведения. Однако именно в случае его вычислительной деятельности эй момент осознается человеком наиболее четко и наглядно по той при чине, что она представляет собой наиболее формализованный процесс. До 30-х годов 20 веке понятие алгоритма, описывающего тот ил иной вычислительный процесс, носило сугубо интуитивный характер, имевший скорее методологическое, чем математическое значение. Ос­новными чертами интуитивного понятия алгоритма были: дискретность, детерминированность, элементарность шагов, направленность и массо­вость [97—100]. Такое положение в математике было вполне допусти­мым, пока дело касалось задач, имеющих положительное решение, когда указание четко определенных правил получения искомого решения задачи вполне можно было считать алгоритмом ее решения. Совер­шенно иначе обстоит дело в том случае, когда задача или класс задач могут и не иметь решения. В этом случае требуется строго формализо­ванное понятие алгоритма, чтобы иметь возможность доказать его отсутствие и избежать двусмысленностей. Такое понятие было определено в середине 30-х голов 20 века в двух эквивалентных форму­лировках: на основе рекурсивных функций (Д. Гильберт, К. Гедель, А. Черч, С. Клини) и абстрактных автоматов (А. Тьюринг, Э. Пост). В настоящее время теория алгоритмов и математическая логика обра­зуют фундаментальную основу современной ВТ, позволяющую решать любые алгоритмически описанные задачи. Остановимся на первой фор­мулировке понятия алгоритма, не вникая детально в тонкие вопросы теории рекурсивных функций [97, 100].

Для алгоритмических проблем типичной является задача сущес­твования алгоритма для вычисления значений числовой функции Y=F(x1, x2, ...,хп), зависящей от целочисленных значений ее xj-аргу­ментов (j=1, ..., п). Числовые функции, значения которых можно вы­числять посредством некоторого алгоритма, будем называть вычисли­мыми. Так как понятие алгоритма в данной формулировке интуитив­но, то понятие вычислимых функций также оказывается интуитивным. Понятие частично рекурсивной функции — одно из центральных понятий теории алгоритмов: (1) каждая частично рекурсивная функция вычислима и (2) функции, вычислимые посредством известных на се­годня алгоритмов, являются частично рекурсивными. Данное положе­ние лежит в основе общепринятой гипотезы, известной как тезис Черча (в окончательной формулировке его правильнее было бы называть тезисом Черча-Клини), впервые сформулированной А. Черчем в 1936 г.: Класс вычислимых частичных числовых функций совпадает с классом всех частично рекурсивных функций. Тезис Черча дает алго­ритмическую интерпретацию понятия частично рекурсивных функций и достаточен для придания необходимой строгости формулировкам алгоритмических проблем, позволяя в ряде случаев получать доказа­тельства их алгоритмической неразрешимости. В силу тезиса Черча вопрос о вычислимости функции эквивалентен вопросу о ее рекурсивности, которая устанавливается на основе строгих математических по­нятий и доказательств. Из него, в частности, вытекает весьма интересное следствие — любая сколь угодно сложная числовая функция может быть получена из простейших функций (1) путем применения про­стых операций суперпозиции, примитивной рекурсии и минимизации, хотя это может оказаться, само по себе, достаточно сложной задачей. Однако на основе рекурсивных функций мы получаем лишь одно из возможных уточнений понятия алгоритма, при котором понятие вычислимых функций является по отношению к нему первичным.

Прямое определение понятия алгоритма было сделано впервые и независимо А. Тьюрингом и Э. Постом в 1936 г. и почти одновременно с представленными выше подходами Черча-Клини. Их подход базиру­ется на определении специальных абстрактных автоматов (машин). Любому мыслимому алгоритму соответствует подходящий абстрактный автомат, его реализующий. Машина Тьюринга (МТ) является важным инструментом исследований в современной теории алгоритмов и вычислимости, тогда как машина Поста (МП) практически не используется. Это можно объяснить тем обстоятельством, что МП проще МТ по своим выразительным средст­вам и ее использование более громоздко и менее обозримо. В первую очередь, именно конструкция МТ в абстракт­ной форме предвосхитила многие основные принципы современных ЭВМ, которые, вероятно, оказали существенное влияние и на работы Джон фон Неймана по созданию первых ЭВМ и его идеи в этом на­правлении.

Понятие машины Тьюринга (МТ) достаточно прозрачно и состоит в следующем. Классическая МТ состоит из трех компонент (рис.4.1):

КА

Конечный автомат

Сканирующая головка

Sj-p Sj-p Sj Sj+1 … …

Внешняя лента

Рис.4.1.

(1) Бесконечная в обе стороны лента разбита на ячейки, содержа­щие строго по одному символу из некоторого конечного алфавита S={ , S1, S2, … , Sn } называемого внешним алфавитом МТ. Внешний алфавит содержит специальный  - символ, идентифицирующий пустую ячейку ленты. Словом, записанным на ленте, будем полагать ориентированную слева направо конфигурацию всех состояний ячеек; рассматриваться будет только множество всех конечных слов, т.е. слов имеющих конечное число вхождений символов sk (A

=1, ..., п), не нарушая общности, внешнюю ленту можно полагать и конечной, но с возможностью при необходимости подстраивания пустых ячеек слева и справа. Ленту можно рассматривать в качестве внешней памяти МТ, а ее ячейки можно для удобства тем или иным способом перену­меровывать.

(2) Конечный автомат (КА) машины представляет собой устройст­во, находящееся в каждый дискретный момент времени Т=0, 1, 2, 3, .. в некотором состоянии из конечного множества Q={q0, q1 q2, … , qт), где q0 -состояние определяет останов МТ. При этом множества S и Q не имеют общих символов, т.е. SQ=0, где 0 — пустое множество. КА наделен внутренней (оперативной) памятью, содержащей программу работы МТ, и устройством управления (УУ), обеспечивающим меха­низм выполнения всех допустимых машиной операций. Множество Q символов называется внутренним алфавитом МТ; в дальнейшем МТ с внешним S и внутренним Q алфавитами будем обозначать как МТqs; #S=s и #Q=q, где мощность (количество элементов) произволь­ного А-множества.

(3) Сканирующая головка (СГ) за единичный мо­мент времени (такт машины) может сдвигаться вправо/влево на одну ячейку ленты и изменять состояние сканируемой ею ячейки; СГ мо­жет оставаться и неподвижной любое число тактов машины.

Работа МТqs происходит в дискретные моменты времени и управ­ляется УУ конечного автомата: в зависимости от внутреннего q-состо­яния и s-состояния сканируемой ячейки внешней ленты производит­ся в общем случае изменение обоих состояний и сдвиг сканирующей головки. Если на некотором шаге КА переходит в q0 -состояние, то МТqs переходит в заключительное состояние и останавливается, завер­шая вычисление.

Не затрагивая принципиальных аспектов теории машин Тьюринга, можно отметить существование универсальных машин Тьюринга, способных моделировать любую конкретную МТqs. Более того, доказано существо­вание универсальных МТ с бинарным Sq={0,1} внешним алфавитом и машин, чья минимальная сложность SL=s x q определяется наилучшим на сегодня значением SL=4x7=28 (включая заключительное q0 -состояние КА). Таким образом, столь просто и прозрачно устроенный и функционирующий аб­страктный автомат, как МТ, способен реализовать сколь угодно сложный алгоритм в нашем современном понимании.

Являясь абстрактной моделью реальных ЭВМ, МТ определяют их вычислительные возможности — вычислимость частично рекурсивных функций, тем самым давая ответ на вопрос о возможностях современ­ной цифровой ВТ. Иными словами, на сегодня теоретически не существует алгоритма в нашем понимании, который не мог бы быть реа­лизован средствами современной ВТ. С практической же точки зрения данное утверждение не выглядит столь убедительным. Например, су­ществуют целочисленные функции, вычисление значений которых требует сколь угодно больших виртуальной памяти (оперативной и внешней) и времени вычислений. Типичным примером таких задач является вычисление п-го члена последовательности однозначно определенных

сумм (ПООС) для сколь угодно большого n-значения. Единственным алгоритмом для получения n-го члена такой ПООС является наличие информации о всех предыдущих членах последовательности. Поэтому, для каждой конкретной ЭВМ существует такое целое n>0, для которого вычисление п-го члена ПООС требует увеличения основных ресурсов ЭВМ. В этом смысле ни одна ЭВМ не

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

Каковы же общие черты формальной МТ-модели вычислений n реальной современной ЭВМ? Подобно МТ-модели в ЭВМ можно выделить элементарные неделимые единицы информации — соответственно символы S-алфавита и двоичный алфавит. Подобно nepвой ЭВМ располагает конечным множеством команд, лежащих в ос­нове реализации и выполнения каждого алгоритма; подобно МТ-модели ЭВМ функционирует дискретно (потактно) под управлением программы, хранящейся в оперативной памяти. Устройство управления МТ-модели по назначению в общих чертах аналогично УУ ЭВМ. Отметим, что ЭВМ имеют относительно МT-моделей существенно более сложную организацию и широкий набор более крупных команд (т.е. относительно вторых обладает существенной избыточностью), что позволяет эффективно и выразительно представлять разнообразные алгоритмы решаемых задач. Более того, в предположении о возможности наращивания памяти в необходимых объемах каждая ЭВМ может моделировать любую МТ являясь потенциально универсальной. В этом смысле термин универсальная ЭВМ теряет определенный идентифицирующий смысл и его использование при классификации ЭВМ в строгом понимании корректно. Более приемлемым и обоснованным следует признать классификацию ЭВМ по сферам и видам применения, о чем будет идти речь ниже.

В теоретических и прикладных разделах вычислительных наук наряду с рассмотренной выше классической МТ-моделью используется ряд других формальных моделей вычислителей, в той или иной мере близких к первой и эквивалентных ей по вычислительным возможностям: многоленточные и многоголовочные МТ, МТ с 2- и 3-мерными лентами, системы продукций Поста, нормальные алгоритмы Маркова, А-алгоритмы, операторные алгоритмы Ван Хао и др. В частности, многоголовочные МТ представляют хорошую фор­мальную модель параллельной обработки информации в терминах мультипроцессорных систем, а А-алгоритмы оказываются весьма полезными по ряду биологически мотивированных соображений, свя­занных с исследованием процессовых формальных теорий для моде­лирования биологии развития [4]. Наконец, несложно погрузить имитатор любой МТ в программную среду современных ЭВМ, демонстрируя ее работу и универсальную вычислимость ЭВМ при условии возможности неограниченного наращивания ресурсов памя­ти. Таким образом, результаты теории формальных МТ-вычислителей носят не только гносеологический характер, но и позволяют получать доказательства невозможности тех или иных алгоритмов (носящих прак­тический характер), что позволяет глубже проникнуть в суть самого понятия алгоритма в нашем современном его понимании. Теория аб­страктных вычислителей на основе МТ-машин в настоящее время раз­вита достаточно хорошо.

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.