Tuesday, September 15, 2009

Dangerous Knowledge - Диагональный метод доказательства Кантора. Часть III (Russian)

См. также:
Dangerous Knowledge
Dangerous Knowledge - Бесконечное множество и интуиция.Часть I
Dangerous Knowledge - Парадокс брадобрея. Часть II
Dangerous Knowledge - Диагональный метод доказательства Кантора. Часть III
Dangerous Knowledge - Континуум-гипотеза. Часть IV
Dangerous Knowledge - Аксиома выбора. Часть V
Dangerous Knowledge - Теория меры. Часть VI
Dangerous Knowledge - Тест Тьюринга. Часть VII


UPDATE 02-11-2010:
Прикоснуться к бесконечности (ВИДЕО)
END OF UPDATE

UPDATE 03-02-2011:
Ещё раз о бесконечности
Всегда ли часть строго меньше целого?
END OF UPDATE

UPDATE 29-09-2014:
Infinity: does it exist?
END OF UPDATE

Как я уже говорил, есть некоторые вещи, которые явно не раскрыты в этой доке. Здесь, я продолжу писать про Кантора. Здесь я рассмотрю "диагональный метод" доказательства Кантора. «Гёдель, Эшер, Бах: эта бесконечная гирлянда», где он в частности подробно на этом останавливается. Перевод на русский можно найти тут. На английском эта книга называется «Gödel, Escher, Bach: An Eternal Golden Braid» by Douglas Hofstadter.

Цитата из английской википедии:

On its surface, GEB examines logician Kurt Gödel, artist M. C. Escher and composer Johann Sebastian Bach, discussing common themes in their work and lives. At a deeper level, the book is a detailed and subtle exposition of concepts fundamental to mathematics, symmetry, and intelligence.

Through illustration and analysis, the book discusses how self-reference and formal rules allow systems to acquire meaning despite being made of "meaningless" elements. It also discusses what it means to communicate, how knowledge can be represented and stored, the methods and limitations of symbolic representation, and even the fundamental notion of "meaning" itself.

In response to confusion over the book's theme, Hofstadter has emphasized that GEB is not about mathematics, art, and music but rather about how cognition and thinking emerge from well-hidden neurological mechanisms. In the book, he presents an analogy about how the individual neurons of the brain coordinate to create a unified sense of a coherent mind by comparing it to the social organization displayed in a colony of ants.

http://en.wikipedia.org/wiki/Gödel,_Escher,_Bach:_An_Eternal_Golden_Braid


Ниже есть продолжение.



В первой части я неформально показал несколько простых результатов теории множеств. Я не буду далее постепенно развивать теорию множеств, а после краткого описание некоторых её результатов приступлю к описанию самого метода.

Напомню, что два множества называются равномощными (в них есть "одинаковое количество элементов"), если между ними можно установить взаимно-однозначное соответствие.

1. Следующие множества попарно равномощны: множество натуральных чисел, множество целых чисел, множество рациональных чисел. Эти примеры счётных множеств.

2. Множество действительных чисел в отрезке [0, 1) несчётно ("диагональный метод Кантора").

Краткое объяснение. Первый результат абсолютно противоречит нашей интуиции. Как часть может быть равна целому? Но, Кантор показал, что это так. Далее, числа натурального ряда можно записать как бесконечный список: $1,2,3,4....$ Счётное множество обозначает, что это множество тоже может быть представлено таким списком (ведь существует взаимно-однозначное соответствие с ним). Множество действительных чисел несчётно, это означает, что оно не может быть представлено таким списком.

Здесь я приведу идею неформального доказательства этой теоремы. Она доказывается с помощью "диагонального метода". Допустим от противного, что множество действительных чисел в отрезке [0, 1) счётно. Любое число на этом отрезке представимо в качестве бесконечной десятичной дроби. Так как это множество счётно мы можем написать следующий список:

x1=0,57893565778356...
x2=0,24896590783...
x3=0,672008765...
x4=0,9271456732...
...

Построим число x следующем способом. Оно будет начинаться на 0, чтобы принадлежать отрезку [0, 1). Первая его цифра после запятой будет любое число, но на такое, какое стоит на первом месте в числе x1, т.е. не 5. Вторая его цифра, будет не таким, как вторая цифра числа x2, т.е. не 4, и т.д. Очевидно, что это такое число будет отличаться от всех чисел, приведённых в списке выше. В самом деле, рассмотрим число x и некоторое число xk. Эти два числа различны. В самом деле, посмотрим на цифру k в десятичной записи этих чисел. В числе x эта цифра будет отличаться от цифры в числе xk, так как именно таким образом число x было "сконструировано". Итак, мы получили число, которого нет в нашем списке всех действительных чисел. Мы пришли к противоречию. Значит наше допущение о том, что множество действительных чисел в отрезке [0, 1) счётно неверно, а значит оно несчётно.


Маленькое замечание, несмотря на то, что в доказательстве использовано троеточие в построение списка, можно это построение задать абсолютно строго.

Где же в этом доказательстве была использована "ссылка на самого себя?". Делается это при рассмотрение цифры k. С одной стороны, это цифра в записи числа x, а с другой стороны оно использует как указатель на число xk (и там мы интересуемся местом k).

Если почитать доказательства Гёделя и Тьюринга именно с помощью подобных построений они доказали свои теоремы. Для неформальное ознакомления с этими доказательствами я опять порекомендую книгу Хофштадтера Дугласа «Гёдель, Эшер, Бах: эта бесконечная гирлянда». На английском эта книга называется «Gödel, Escher, Bach: An Eternal Golden Braid» by Douglas Hofstadter.

12 comments:

  1. Честно говоря, не очень понимаю, почему множество целых чисел является счетным, а множество действительных (к примеру, на том же отрезке (0,1)) - несчетным.

    Вот что меня смущает:

    Давайте уберем от КАЖДОГО действительного числа из нашего интервала целую часть и запятую, таким образом получим взаимно-однозначное соответствие с соответствующим числом из множества целых чисел (которое счетно).

    Быть может, вся проблема в том, что некоторые действительные числа содежат "истинно-бесконечную" десятичную часть (к примеру, 1/3), в то время как назвать целое число бесконечным у нас язык не поворачивается (или мы постулируем, что в нашем множестве целых чисел нет бесконечных, а есть только заведомо-конечные).

    Не порекомендуете литературу по вопросу? :)

    ReplyDelete
  2. Учебник по наивной теории множеств, любой. :-)

    Сейчас я дам вам пару ссылок. Вот тут и тут я пытаюсь "на пальцах" это объяснить. Там же есть отсылка к книжке Хофштадтера Дугласа «Гёдель, Эшер, Бах: эта бесконечная гирлянда». Она, правда, достаточно сложная, ИМХО, для неподготовленного читателя.

    Рекомендую также статью о бесконечном.

    ReplyDelete
  3. Вот тут есть неплохая обзорная лекция на эту тему. Она не совсем математически строгая, но думаю, достаточно для вас.

    ReplyDelete
  4. Да, и еще вопрос: почему мы не можем доказать несчетность множества целых чисел таким же точно образом, как вы доказали несчетность действительных чисел на отрезке (0,1)? Просто введем новый символ, который обозначает отсутствие цифры (пусть это символ будет @. Тогда число 1 превращается в 1(@) (то есть 1@@@@@@@@...). Теперь у нас составим число Х таким же образом, как вы это сделали выше. Единственное правило - при составлении Х нельзя использовать @. Это, конечно, приведет к тому, что Х будет бесконечным, но ведь и ваш Х повторит какой-нибудь совпадет с каким-нибудь хk, если будет конечным, верно?

    ReplyDelete
  5. Честно говоря, не понял, что такое @.
    Также не понял смысл фразы "Это, конечно, приведет к тому, что Х будет бесконечным, но ведь и ваш Х повторит какой-нибудь совпадет с каким-нибудь хk, если будет конечным, верно?"
    Выше, приведёно бесконечное десятичное представление числа. Само число конечно. 1/3 конечно. Pi - также конечно (неизвестно, является ли оно нормальным, но это другое). Pi конечно в том смысле, что ему соответствует в точности точка на числовой прямой. С помощью десятичной записи мы можем с любой наперед заданной точностью задать интервал, в котором будет находится Pi. Из аксиомы о непрерывности http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB легко видеть, что Pi это именно число.

    ReplyDelete
  6. @ - это символ, который означает отсутствие цифры на данном месте. Это нужно для того, чтобы все целые числа имели одинаковую длину (бесконечную) - и все лишь для того, чтобы расширить доказательство несчетности действительных чисел на числа целые.
    Теперь число 1 бесконечное представление: на первом месте цифра один, на всех остальных - @ (который сигнализирует, что цифры нет).

    Теперь, я думаю, понятна моя идея: выберем число Х так, чтобы "Первая его цифра после запятой была любой, но не такой, какая стоит на первом месте в числе x1, т.е. не 5. Вторая его цифра, будет не такой, как вторая цифра числа x2, т.е. не 4, и т.д. Очевидно, что это такое число будет отличаться от всех чисел, приведённых в списке выше." и далее по тексту. Правило при составлении числа Х одно: нельзя использовать @. По счастью, это не проблема, потому что всегда есть еще как минимум 9 вариантов :)

    Пока мне не очень понятно, в чем ошибочность моего "доказательства" по аналогии.

    ReplyDelete
  7. В чём отличие @ от 0?
    Ошибочность доказательства в том, что полученное вами число не будет целым.
    В доказательстве выше существенным образом используется аксиома непрервыности (ссылку я давал выше).

    ReplyDelete
  8. Отличие очень простое.

    1 и 10 - разные числа. 1@ и 1 - одно и то же. Я ввел этот символ только для того, чтобы унифицировать запись всех целых чисел (превратив их запись в бесконечную). А сделано это лишь для того, чтобы использовать доказательство, примененное выше для действительных чисел.

    Полученное мною число будет целым. Распишу доказательство подробнее.

    Наша последовательность целых чисел (начнем с 1):

    1@@@@@@@@@@@@.....
    2@@@@@@@@@@@@.....
    3@@@@@@@@@@@@.....
    ..................
    1294742@@@@@@.....

    Теперь составим Х тем же образом, что и в примере, приведенном вами. ПОлучим тот же результат.

    З.Ы. Для дробных чисел, сводимых к десятичным, знак 0 будет играть ту же роль (в том числе), что и @ в моем случае: так, число 0,1 можно записать как 0,10000000000.....

    Для целых же чисел знак @ абсолютно необходим для того, чтобы все числа имели формально одинаковую запись.

    ReplyDelete
  9. Как я уже говорил, ваше число просто будет не целым. В моём случае, я использую тот факт, что рациональные числа всюду плотны, в случае целых чисел это не так.
    Попробую объяснить это "на пальцах". В моём случае, я могу делать любые операции с построенным числом x с наперед заданной точностью. Допустим, вы меня спросите, а чему равняется 10x с точностью 2 знаков после запятой? Я говорю, проблем нет, строим x с точностью до 4 знаков после запятой, это число строится при помощи конечного количества шагов и |x4-x|<10^(-3), таким образом |10x4-10x|=10|x4-x|<10*10^(-3)=10^(-2) т.е. получаем 10x c точностью до 2 знаков после запятой.
    А теперь попробуйте проделать такую же операцию для своего построения. Очевидно, что, на каком бы шаге своего построения вы не остановились погрешность вашего вычисления будет больше 1. Ваш x не является целым числом и есть большие сомнения, что он может быть таким образом построен вообще.

    ReplyDelete
  10. Я в этих вопросах дилетант, не судите строго :)

    Надеюсь все-таки, что вы и очередные мои дурацкие вопросы не оставите без внимания :)

    1.) Да, "мои" целые числа не будут всюду плотными - досадный, но факт. Я, правда, не очень понял, почему это так необходимо для доказательства.

    2.) Погрешность, конечно, будет больше 1 на любом шаге, но значит ли это, что число не будет целым? Если известно, что число находится (к примеру) между миллионом и миллиардом, значит ли это, что оно нецелое? Скорее наоборот, если бы мы знали погрешность ОЧЕНЬ точно, только тогда мы могли бы показать, что Х - нецелое (но не наоборот, если точность конечна).

    3.) И еще про точность. Конечно, самого числа Х мы так и не узнаем - это факт. Причем ни в случае целых чисел, ни в случае действительных. Но вопрос с точностью в данном случае (на мой взгляд) хитрее, чем кажется.

    В случае действительных чисел абсолютная и относительная погрешности связаны простым образом; и та, и другая - сходятся в процессе построения Х. Причем абсолютная сходится потому, что сходится относительная - именно такова причинно-следственная связь, на мой взгляд.

    С целыми же числами все не так просто. Абсолютная погрешность при построении Х там и правда всегда больше 1, зато относительная (естественно) сходится. Таким образом, это лишь вопрос нормировки. Для действительных чисел (нашего интервала) естественным нормировочным коэффициентом является их целая часть (по крайней мере, задает порядок). Для моего Х нужно ввести его специально - и очень просто: поделить на Х. Таким образом, мы сможем узнать Х с любой заданной точностью - в долях Х. А это не так уэ и плохо :)

    Понятно, что на самом деле мы не сможем представить себе и порядок получившегося числа Х. Собственно, у Х и нет порядка: оно бесконечно. Но это ведь не так уж важно. Моя цель - отнюдь не назвать получившееся число, но приспособить метод доказательства несчетности под целые числа :) Пусть судят те, кто в этом разбирается - я же просто удовольствие получаю :)

    ReplyDelete
  11. Собственно, в ваших же вопросах есть уже все ответы. Я лишь слегка изменю порядок :-)

    "Понятно, что на самом деле мы не сможем представить себе и порядок получившегося числа Х. Собственно, у Х и нет порядка: оно бесконечно."
    Это на самом дело ключевой момент. То, что вы "построили" всё, что угодно но не целое число.

    "И еще про точность. Конечно, самого числа Х мы так и не узнаем - это факт. Причем ни в случае целых чисел, ни в случае действительных."
    Нет. В обоих случаях мы имеем бесконечный процесс построения. Но в случае действительных чисел он может быть описан за конечное время (трюк с наперед заданной точностью), т.е. этот процесс "потенциально бесконечен" и потому допустим в мат. доказательствах, а в вашем случае, мы имеем "актуальную" бесконечность, т.е. ваш процесс "не сходится", на каждом конечном шагу вы находится "далеко", эпсилон>=1, от "конца" процесса, поэтому этот процесс математически некорректен.


    "Да, "мои" целые числа не будут всюду плотными - досадный, но факт...В случае действительных чисел абсолютная и относительная погрешности связаны простым образом; и та, и другая - сходятся в процессе построения Х. Погрешность, конечно, будет больше 1 на любом шаге... Если известно, что число находится (к примеру) между миллионом и миллиардом, значит ли это, что оно нецелое"
    Вы можете, конечно, ввести другую норму, но тогда получившие объекты не будут иметь свойства обычный целых чисел. :-)

    Почитайте посты О бесконечном http://www.toalexsmail.com/2010/03/blog-post_2979.html и ещё раз о бесконечном http://www.toalexsmail.com/2010/03/blog-post_2979.html для прояснения понятий актуальной и потенциально бесконечности. Почитайте О парадоксе Ахиллеса и черепахи http://www.toalexsmail.com/2010/03/blog-post_6758.html для яркой демонстрации сути разницы между ними и реальным миром.

    ReplyDelete
  12. Может быть, так вам будет понять проще.
    При построении x как действительного числа у меня выполняется что |xk-km|->0, т.е. я строю фундаментальную последовательность, которая благодаря аксисоме о непрерывности во-первых сходится, во-вторых сходится к действительному числу.
    У вас же |xk-km|>=1, т.е. ваша фундаментальная последовательность просто не сходится. Это также значит также, что нет такого целого x, что |xk-x|->0, т.е. вашего целого x просто не существует.

    Про фундаментальную последовательность см. http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%B4%D0%B0%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C

    ReplyDelete