Существует несколько формулировок теоремы Гёделя. Ещё больше изложений её доказательства. И совсем много её следствий.
Ограничимся кратким пересказом, основанным на анализе теоремы выдающимся математиком Юрием Маниным (подробности см. в его работах11).
Формулируется теорема так: «Полного финитно описываемого набора аксиом в арифметике не существует».
Это утверждение можно выразить иначе, на более привычном языке.
Например:
Можно построить логически непротиворечивую теорию, но нельзя доказать её истинность.
Тогда такое следствие:
Какими бы логичными ни казались, скажем, концепция души или рефлекторная теория мозга, нельзя сформулировать аргументы в пользу того, что они неопровержимо верны.
Или такая формулировка теоремы:
Выразить полностью какую-либо сложную научную теорию при помощи средств любого естественного языка невозможно.
И её следствие:
Если вы не разбираетесь в математике и не собираетесь этого делать, то в случае создания новой научной теории (например, Теории Всего) вы её никогда не поймёте.
Чтобы пояснить, почему формулировка и следствия теоремы Гёделя, выходят так далеко за пределы арифметики, разберёмся с терминами.
Все высказывания (как в математике, так и в любом естественном языке) могут быть неопределёнными и определёнными. О первых сказать, ложны они или истинны, нельзя. О вторых можно.
Некоторой аналогией тут служит различие между открытыми и закрытыми вопросами. Если вам задают открытый вопрос (начинается с «как», «что такое», «почему» и т.п.), вы не можете содержательно и определённо ответить, сказав «да» или «нет». Однако при ответе на закрытый вопрос («так ли это?», «это случилось там-то?» и т.д.) только эти два варианта имеют смысл.
Таким образом, Гёдель заключил, что все аксиомы в математике это определённые истинные высказывания (мы назовём их «первичными истинами»). А все, следующие из них высказывания, выраженные на каком-либо естественном языке, определённые и истинные тоже («вторичные истины»).
Тогда формируются два множества: все «первичные истины» (множество с числом элементов n) и все «вторичные истины» (множество с числом элементов m).
Сформулированный Гёделем вопрос заключается в следующем: можно ли всегда и во всех случаях из «вторичной истины» вывести «первичную истину»?
Или так: содержатся ли в наших естественных языках уже все аксиомы, которые мы ещё не успели описать на языке математики?
Короче: существует ли такая формула (способ, правило), которая всегда выводит n из m?
И совсем коротко: n = m?
Курт Гёдель использовал доказательство от обратного и начал с предположения, что n = m. Примерная схема рассуждений представлена на рисунке 10.
Получилось, что всегда и строго n> m.
Итак, Гёдель доказал, что абсолютных, сформулированных людьми, истин не существует: ни в математике, ни, тем более, в естественных языках (интуиционисты удовлетворенно кивнули).
Вместе с тем, он ясно показал, что существует некий, возможно, универсальный процесс создания аксиом как в математике, так и в естественных языках (формалисты продолжили верить).
Этот универсальный процесс создания аксиом не что иное, как вычисление. (Джордж Буль думал также, однако именно Гёдель в подтверждение тезиса привел весомые аргументы.)
При этом вычисление может производиться любым, имеющим к этому процессу подходящие инструменты, созданием. В том числе искусственным устройством.
Через пять лет после появления теоремы о неполноте арифметики Алан Тьюринг опубликовал статью, в которой описал то, что сейчас мы называем компьютером.
Нужно иметь в виду, что представленная в этой работе математическая метафора, «машина Тьюринга», не только и не столько абстрактная модель механического вычислительного устройства.
Это, прежде всего, модель вычислений, производимых человеком. В самом начале статьи читаем: «Мы можем сравнить человека в процессе вычисления (in the process of computing) какого-либо действительного числа с машиной, которая ограничена конечным числом состояний». 63
Тьюринг математически описал биологического вычислителя (англ. computor). Точнее: детально изложил процесс арифметических вычислений так, как, по его мнению, это происходит, в общем, у обычного человека, взявшего в руки тетрадку в клеточку и карандаш для решения какой-либо задачки.
Человек вписывает в клеточки начальные символы или цифры; глядя на текущую клеточку, производит в уме элементарную операцию по их преобразованию (складывает, вычитает, умножает, делит); записывает полученный результат в соседнюю клеточку; продолжает последовательное вычисление в соответствие с порядком, который сам же наметил.
Иными словами, он, как сказал бы Гёдель, переводит первоначальное неопределённое высказывание в определённое, затем в другое определённое и т. д.
Если в качестве символьной системы для записи в клеточки выбрать бинарный код, а в качестве набора управляющих операций бинарную логику, то получится общая схема вычислений. Получится механический computer, имитирующий язык и логику живого computor.
Как мы обсуждали в начале главы, Алан Тьюринг не считал, что computer может полностью заменить computor. Здесь поясним это утверждение более обстоятельно.
Дело в том, что механический вычислитель не способен имитировать произвольное построение порядка вычислений. Он не создаёт алгоритм сам. Ему всегда требуется образец.
В какой последовательности применять бинарную логику к бинарным символам решает тот, кто вписывает символы в клеточки. Или даёт указания, как это делать: составляет программу машинных действий, даёт искусственному вычислителю образцы алгоритмов.
Это человек.
Заметим, что это прямое следствие теоремы Гёделя.
Применяя строгие механические формулы, которые ссылаются только на себя, истинно-определённое не выводится (или, по Тьюрингу, не вычисляется). Индуктивная проверка есть не универсальный, а специальный инструмент. Не фундаментальный закон, а технология.
Припомним: следуя бинарной логике Буля, мы избежали сомнительного удовольствия ковыряться в противоречивых смыслах, спрятанных в высказывании «Все не люди не смертны». Как нам это удалось? Мы действовали по алгоритму: вычитание умножение сложение. Только такой порядок обеспечил определённый и осмысленный результат.
Если б мы нарушили последовательность или, не дай бог, принялись бы, подобно средневековым схоластам, резонерствовать на тему «кто такие не люди?», «что такое смерть?», «что такое жизнь?» и т.п., нам пришлось бы, чтобы прийти к согласию, провести бесконечное число наблюдений.
Но, даже если б мы сделали это, хотя бы в уме, и пришли к некой, абсолютной, истине, которая бы воспринималась нами как полный и окончательный ответ, разъясняющий суть этих понятий, то через некоторое время пришлось бы снова взяться за уточнение ввязаться в новый диспут.
Ведь, как показал Гёдель, всегда остаётся вероятность, что такие сложные и многозначные понятия, как, например, «люди» и «жизнь», могут дополниться новыми фактами и смыслами. И определить/вычислить их до конца не удастся никогда.
Раз так, то и машина Тьюринга не может этого сделать.
Точнее: она будет это делать, т.к., хоть эти высказывания (числа, функции, задачи) и невычислимы, тем не менее, они вполне реальны. С ними можно производить арифметические операции.
Однако машина Тьюринга будет вычислить их неограниченное время гораздо дольше, чем Думатель из романа Дугласа Адамса. А именно: вечность.
Вместе с тем, задачи, что машина Тьюринга за конечное время вычислить может, существуют тоже. Они алгоритмически вычислимы.
Другое дело, что писать алгоритмы для их решения придётся человеку. Потому что и математика, и логика, и новые идеи, как показал Гёдель, суть творческая, бесконечная во времени и по глубине, деятельность.
Прояснение разницы между выводимостью аксиом и их невыводимостью, между вычислимым и невычислимым, между машинным алгоритмом и присущим человеку думанием несомненная научная заслуга Гёделя и Тьюринга.
Их работы стали предпоследним звеном в длинной цепочке развития идеи вычисляемой дискретности в трудах Лейбница, Буля, Пирса, Кантора, Гильберта, Пуанкаре и других теоретиков.
Оставалось сделать последний шаг: попытаться создать computer (искусственный вычислитель) и computor (живой вычислитель) на практике.
Оставалось сделать последний шаг: попытаться создать computer (искусственный вычислитель) и computor (живой вычислитель) на практике.
«Так выпьем же за кибернетиков!»
В 1966 году в советском комедийном фильме Леонида Гайдая «Кавказская пленница» один из героев произнёс примечательный тост. Он поведал трагическую историю некой принцессы, которая умерла, «потому что совершенно точно сосчитала, сколько зёрен в мешке, сколько капель в море и сколько звёзд на небе». Тост завершался призывом «выпить за кибернетиков!».
В том же году в популярном британском научно-фантастическом сериале «Доктор Кто» впервые появились такие персонажи, как «Киберлюди» (англ. Cybermen). По сюжету эпизода, снятого режиссёром Дереком Мартинусом, это роботизированные, лишенные эмоций существа, которые хотят покорить Землю и превратить её жителей в кибернетические механизмы.
Кто такие кибернетики? И зачем Киберлюдям понадобилось покорять Землю?
Кибернетика наука, сама себя называвшая «междисциплинарной научной дисциплиной», где сложные объекты и системы, включая человеческий разум, трактуются как вычислительные устройства.
Формально годом её рождения считается 1948.
Именно тогда появилось известное сочинение Норберта Винера «Кибернетика: Или Контроль и Коммуникация у Животных и Машин» (далее просто «Кибернетика»).
Однако фактически работы, посвященные рассмотрению сложных систем как природных саморегулирующихся автоматов, за авторством Джона фон Неймана, самого Винера и других исследователей, публиковались с 1943 года.57
Кратко обозначим контекст появления кибернетики.
После окончания Второй мировой войны в глазах общественности механическая парадигма оказалась чрезвычайно скомпрометированной.
Всем стало ясно, что от представлений о государствах-машинах, людях-машинах и прочих спекуляций в духе «социальных механизмов» надо отказываться.
Такие взгляды практически всюду были признаны доктринами, мягко говоря, неточно описывающими реальность.
На научном поприще механическая парадигма была плавно вытеснена цифровой парадигмой ещё раньше: фактически к началу 1930х гг.