KnigaRead.com/
KnigaRead.com » Научные и научно-популярные книги » Научпоп » Rafael Lahoz-Beltra - Размышления о думающих машинах. Тьюринг. Компьютерное исчисление

Rafael Lahoz-Beltra - Размышления о думающих машинах. Тьюринг. Компьютерное исчисление

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Rafael Lahoz-Beltra, "Размышления о думающих машинах. Тьюринг. Компьютерное исчисление" бесплатно, без регистрации.
Перейти на страницу:

«Рисующие руки» (1948), Мауриц Корнелис Эшер.


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

Пусть a, b и с будут числом яблок, равным 2, 3 и 5 соответственно. Свойство ассоциативности устанавливает, что (а + 6) + с = а + (b + с), в то время как согласно свойству дистрибутивности а • (b + с) = а • b + а • с. Если мы представим эти два свойства натуральных чисел в виде утверждений, назвав ассоциативность утверждением H, а дистрибутивность — утверждением /, и заменим а, b и с их числовыми выражениями

Н = [(2 + 3) + 5 = 2 +(3 + 5)] => [Н является...],

I = [2 • (3 + 5) = 2 *3 + 2 • 5] => [I является...],

станет очевидно, что не существует программы для компьютера или какой-либо другой машины, которая могла бы автоматически доказать или опровергнуть этот тип утверждений. Как это ни удивительно, но написать программу для компьютера, которая доказала бы то, что очевидно даже ребенку школьного возраста, а именно (2 + 3) + 5 = 2 + (3 + 5), невозможно, поэтому в математике существуют «истинные утверждения» о числах, которые не могут быть доказаны с помощью правил дедукции. Как можно себе представить, теорема Геделя заставила пошатнуться казавшиеся непоколебимыми идеи Бертрана Рассела и сами столпы формальной математической науки, которыми так гордятся ученые.

Один из самых влиятельных математиков XIX — начала XX века, немец Давид Гильберт сказал, что вся эта дискуссия сводится к проблеме определения, то есть возможности установить последовательность или непоследовательность формальной системы. Это означает, что до сих пор математики делали свою науку, используя правила вывода и аксиомы, то есть идеи или утверждения, считающиеся очевидными и не требующие доказательств. В этой ситуации Гильберт поставил перед научным сообществом задачу создать механический процесс (на современном языке — «информатизированный процесс»), с помощью которого можно было бы принять решение об истинности или ложности математического утверждения. Необходимо было оставить теоретическую дискуссию, начатую Геделем, и найти реальное решение проблемы, так как на кону стояла честь математики как науки. Алан Тьюринг принял этот вызов и начал работать над решением проблемы, поставленной Гильбертом и ставшей, в свою очередь, ответом на теорему Геделя. Так Тьюринг создал абстрактный исполнитель, не имеющий реального прототипа, — а-машину (automatic machine). Это устройство, известное нам как машина Тьюринга, обязано своим происхождением дискуссии между философами и математиками на самом высоком уровне. Сегодня считается, что это теоретическая модель первого в истории науки компьютера. Однако, несмотря на гениальность идей, возникших у Тьюринга в 1937 году, они не могли получить материального воплощения. К сожалению, потребовался глобальный военный конфликт (Вторая мировая война) для того, чтобы математики и инженеры объединили свои усилия для разработки и создания удивительной машины — компьютера.

Итак, что представляет собой машина Тьюринга? Из каких частей или компонентов она состоит? А-машина — это абстрактное устройство, не имеющее реального прототипа и представляющее собой простейший компьютер. Она способна считывать и записывать символы на ленте, разделенной на ячейки. Теоретически эта лента бесконечна, то есть не имеет края ни справа, ни слева. Очевидно, что она представляет собой основную память; в современном компьютере эквивалентом можно считать оперативную память — RAM (ОЗУ, оперативное запоминающее устройство). Интересно отметить, что Тьюринг посчитал бесконечную ленту необходимой для компьютера, предваряя этим возникновение одного из важнейших элементов — памяти. По очевидным причинам память компьютера не может быть бесконечной, и этим объясняется «зависание» техники, когда ее памяти недостаточно для выполнения определенной программы или операции.

Но что можно записать на ленту? Представим, что мы располагаем алфавитом, состоящим всего из двух символов — 0 и 1, а также еще одним символом, означающим пустую ячейку, — назовем его пропуск, или В. Система из этих трех символов составляет алфавит, который мы обозначим как А. То есть в каждой ячейке бесконечной ленты будет записан символ: 0, 1 или В (см. рисунок).

Представим себе машину Тьюринга в самой элементарной конфигурации. С одной стороны, ей необходима головка для считывания и записи, с помощью которой считывается содержимое ячейки, а затем стирается и записывается новый символ. В общей модели машины Тьюринга считалось, что после завершения цикла чтения ячейки, стирания содержимого и записи нового символа головка и вместе с ней вся машина сдвигается по отношению к ленте на одну позицию вправо (П) или влево (Л). То есть можно представить, что лента или машина переходит к позиции П или Л. Также машине необходим небольшой объем памяти — реестр, в котором хранится информация о состоянии или конфигурации в определенный момент времени. Реестр похож на светофор, который может быть красным (К), желтым (Ж) или зеленым (3). В конкретный момент времени машина находится в определенном состоянии, и количество возможных состояний является конечным. Обозначим его множество буквой Q (см. рисунок). Представим, что наша машина находится в одном из четырех состояний: E1, Е2, ЕЗ или Е4. Также имеется начальное состояние 10, соответствующее записи в реестре при запуске машины в работу.

Итак, машина располагает двумя конечными наборами символов — величинами, записываемыми в ячейки ленты (А = (0, 1, В)), и состояниями реестра машины (Q = (I0, El, Е2, ЕЗ, Е4)). Для того чтобы машина Тьюринга функционировала, она должна следовать определенному протоколу, словно офисный служащий. Всякий раз, когда служащий выполняет свою работу, он совершает определенную последовательность действий, и после завершения одного шага он должен знать, каким будет следующий. Подобным образом каждый раз, обработав символ на ленте, машина Тьюринга должна до начала обработки следующего символа актуализировать свое состояние.


СОСТОЯНИЯ МАШИНЫ

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


Для того чтобы машина Тьюринга могла менять состояние, используется таблица, названная таблицей переходов, которую обозначим символом Д. В соответствии с этой таблицей, используя правила перехода, или функции, машина после завершения одной операции переходит к следующей. Таким образом, обратившись к таблице, машина Тьюринга после завершения операции актуализирует свое состояние. Каждый раз, когда головка для считывания/записи находит на ленте символ, она соотносит его с символом, описывающим собственное состояние машины и указывающим, что она должна сделать далее для каждой комбинации символов. То есть в таблице представлено состояние ячейки и состояние машины, А х Q. В соответствии с этой комбинацией по таблице определяются следующее состояние Q и новый символ А, который будет записан на ленте вместо считанного, а также то, в каком направлении должно будет перемещаться устройство по ленте: вправо (П) или влево (Л). Таким образом, в самом простом виде работа машины Тьюринга определялась тремя элементами: состоянием машины Q, алфавитом А и таблицей А, в которой собирается информация о каждом завершенном шаге машины Тьюринга для выполнения следующего.

Для того чтобы понять, как функционирует машина Тьюринга, приведем простой пример с тремя состояниями Q = {Е1, Е2, ЕЗ} и лентой памяти, ячейки которой могут содержать символы А = {0, 1}. Будем считать начальное состояние 10 равным Е1, головка считывания/записи находится во второй ячейке слева от рассматриваемого участка ленты, например имеющего вид 011110. Если таблица переходов сформирована тремя таблицами ниже, по одной на каждое из состояний El, Е2 и ЕЗ, то как будет вести себя машина?

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*