Шрифт:
Концепция теста Тьюринга понятна всем, кто имел дело с искусственным интеллектом (например, цифровым персональным помощником Siri от Apple или онлайн-чат-ботом). В настоящее время Siri еще далека от успешного прохождения теста. Временами чат-боты способны обмануть людей, но ограничения даже самых лучших из современных ИИ приводят к тому, что их быстро разоблачают. И все же Тьюринг предсказывал тот день, когда искусственный интеллект станет неотличимым от человеческого.
Алан Тьюринг и расцвет компьютерных вычислений
Идеи Алана Тьюринга перевернули весь мир. Он заложил прочную основу для революционного развития современных компьютеров и информационных технологий, а также сделал дальновидные прогнозы по искусственному интеллекту, мозгу и даже биологии развития. Тьюринг также возглавлял разработку решений важных криптоаналитических задач для союзников во время Второй мировой войны.
Чтобы оценить всю важность достижений Тьюринга, стоит узнать, как ученый смог решить одну из самых сложных математических головоломок своего времени и параллельно заложить фундамент для появления всех компьютеров. Истоки ИИ неразрывно связаны с расцветом вычислительной техники.
До Второй мировой войны слово «компьютер» обозначало человека (часто – женщину), который выполнял вычисления вручную или с помощью механической счетной машины. Эти человеко-компьютеры были неотъемлемой частью промышленной революции и часто выполняли монотонные вычисления, например для создания книг логарифмических таблиц.
Но в 1936 году Тьюринг, которому на тот момент было всего 24 года, заложил основы для уже знакомого нам типа компьютера и таким образом сыграл ключевую роль в технологической революции. И все же целью Тьюринга не было создание модели современного компьютера. Ученый хотел решить сложную задачу с помощью математической логики. В середине 1930-х годов Тьюринг бесстрашно взялся за решение так называемой Entscheidungsproblem, или «проблемы разрешения», опубликованной математиком Давидом Гильбертом в 1928 году.
К тому времени математики находились в поисках фундаментальных основ, а Гильберт хотел узнать, можно ли считать все математические выражения, вроде 2 + 2 = 4, «разрешимыми». Другими словами, математики пытались понять, существует ли пошаговая процедура, определяющая истинность или ложность любого отдельно взятого математического выражения. Это был фундаментальный вопрос. И хотя мы можем с уверенностью признавать истинность выражения 2 + 2 = 4, интерпретация более сложных логических выражений не так проста. Взять, к примеру, гипотезу Римана, сформулированную Бернхардом Риманом в 1859 году, которая выдавала определенные прогнозы о распределении простых чисел в ряде натуральных. Математики предполагали истинность данной гипотезы, но не могли ее доказать.
Обнаружение предложенной Гильбертом пошаговой процедуры означало бы возможность потенциального создания машины, которая могла бы дать математикам точный ответ на любое логическое выражение. Можно было бы решить все важнейшие математические проблемы. Возможно, тогда это не было столь очевидным, но Гильберт пытался отыскать компьютерную программу. Сегодня его пошаговая процедура называется «алгоритмом». Однако в 1930-х годах не существовало ни компьютеров, ни программ, и Тьюрингу пришлось самостоятельно разработать концепцию вычислений для решения «проблемы разрешения».
В 1936 году Тьюринг опубликовал работу, в которой был представлен четкий ответ на вопрос Гильберта: процедуры для определения истинности или ложности любого математического выражения не существует. Более того, многие из важнейших нерешенных проблем в математике являются неразрешимыми. Это оказалось хорошей новостью для математиков-гуманистов, для которых этот вывод значил, будто бы их никогда не смогут заменить машинами. Но в своей работе Тьюринг представил нечто большее, чем просто решение проблемы Гильберта: в процессе он смог вывести теоретические основы работы современных компьютеров.
Прежде чем тестировать предположение Гильберта, Тьюринг должен был сформулировать эту самую пошаговую процедуру и понять, какое устройство могло бы ее выполнить. Ему не требовалось создавать саму машину – достаточно было понять теоретические принципы ее работы.
Для начала он придумал машину, которая могла считывать символы с перфоленты (см. рис. 1.1). Вы подаете в машину перфоленту, а она изучает символы и на основании заложенных правил принимает решение о своем следующем действии. К примеру, такое устройство могло сложить два числа, записанных на перфоленте, и вывести на ленту результат операции. В дальнейшем это устройство получило название «машина Тьюринга». Но поскольку каждая машина Тьюринга имела собственный свод правил (то есть фиксированную программу), она не годилась для тестирования гипотезы Гильберта.
В 1930-х годах Алан Тьюринг придумал новый тип машин, который смог бы последовательно считывать символы с перфоленты. После принятия решения на основании своих внутренних правил устройство выполняло одно из пяти действий: передвигало ленты вправо или влево, удаляло символ, дописывало новый символ или останавливалось. Такое устройство получило название «машина Тьюринга».
Тьюринг также предположил, что даже саму перфоленту можно использовать для программирования действий машины – то есть базовой версии программного обеспечения. Такая схема получила название «универсальная машина Тьюринга» и стала основой всех современных компьютеров.