Информация об изменениях

Сообщение Re[13]: Равномощность от 07.09.2023 12:39

Изменено 07.09.2023 12:46 D. Mon

Re[13]: Равномощность
Здравствуйте, pva, Вы писали:

DM>>Да, |f(n)| == |N|, но такая f(n) не даст нам _все_ подмножества.

pva>Почему не даст-то?

Нет такого n:N, для которого его двоичная запись бесконечна. В множестве всех f(n) будут только конечные подмножества (их кодировки). А нам нужно закодировать массу бесконечных подмножеств тоже.

Например, 010101010101.... или 001001001001... или 010010001000010000010.....

DM>>Нужна f(s), где s:R. Тогда |f(s)| == |R|. Там будут все.

pva>Каким образом f(s:R) должна определять выбранную комбинацию?

Через двоичное представление s. Главная разница в том, что для большинства s:R их двоичное представление — бесконечная последовательность. Такие нам и нужны. См. определение действительных чисел.

pva>>>Вчера, я приходил уже к подобной гипотезе, когда разбирал диагонали с иррациональными числами, но в обратном направлении. В упрощенном виде: возьмем [0; 1) и откинем "0." — получим бесконечное счетное множество?

DM>>Нет, откуда ему счетным стать? Как нам его пересчитать, какой элемент там первый, какой второй?
pva>Отличный вопрос, а теперь перечитай свое
pva>

... Получаем последовательность из нулей и единиц, допишем перед ней "0." и получим вещественное число в двоичном представлении в интервале [0, 1]. Одно вещественное число кодирует целое подмножество нашего исходного счетного множества. А множество всех таких подмножеств — это множество всех таких вот вещественных чисел, т.е. это интервал [0, 1] в R. Который равномощен R. Вот и выходит, что 2^N = R.

pva>Если бы это была биекция, то работало бы в обе стороны.

Оно и работает в обе стороны. Каждому подмножеству N (т.е. не каждому числу, а каждому набору чисел, в том числе бесконечному) я однозначно ставлю в соответствие одно действительное число.

Например, число 0.0011 кодирует множество {2,3}. А число 0.1001001001001001001(001) кодирует бесконечное множество {0, 3, 6, 9, 12, ... } — все, что делятся на 3.

Таких кодировок несчетно много. Их ровно столько сколько действительных чисел от 0.00000... до 0.11111....

Но это множество чисел/кодировок, не последовательность, я не могу выписать их все по очереди и пронумеровать. Если бы мог — это было бы счетное множество. Но как нет самого маленького положительного числа, так нет и первого или второго по порядку числа в этом наборе. Мы можем с ним работать как с множеством, но не как со списком.
Re[13]: Равномощность
Здравствуйте, pva, Вы писали:

DM>>Да, |f(n)| == |N|, но такая f(n) не даст нам _все_ подмножества.

pva>Почему не даст-то?

Нет такого n:N, для которого его двоичная запись бесконечна. В множестве всех f(n) будут только конечные подмножества (их кодировки). А нам нужно закодировать массу бесконечных подмножеств тоже.

Например, 010101010101.... или 001001001001... или 010010001000010000010.....

DM>>Нужна f(s), где s:R. Тогда |f(s)| == |R|. Там будут все.

pva>Каким образом f(s:R) должна определять выбранную комбинацию?

Через двоичное представление s. Главная разница в том, что для большинства s:R их двоичное представление — бесконечная последовательность (и речь не про хвост из нулей, там бесконечно много единиц и нулей в разных комбинациях). Такие нам и нужны. См. определение действительных чисел.

pva>>>Вчера, я приходил уже к подобной гипотезе, когда разбирал диагонали с иррациональными числами, но в обратном направлении. В упрощенном виде: возьмем [0; 1) и откинем "0." — получим бесконечное счетное множество?

DM>>Нет, откуда ему счетным стать? Как нам его пересчитать, какой элемент там первый, какой второй?
pva>Отличный вопрос, а теперь перечитай свое
pva>

... Получаем последовательность из нулей и единиц, допишем перед ней "0." и получим вещественное число в двоичном представлении в интервале [0, 1]. Одно вещественное число кодирует целое подмножество нашего исходного счетного множества. А множество всех таких подмножеств — это множество всех таких вот вещественных чисел, т.е. это интервал [0, 1] в R. Который равномощен R. Вот и выходит, что 2^N = R.

pva>Если бы это была биекция, то работало бы в обе стороны.

Оно и работает в обе стороны. Каждому подмножеству N (т.е. не каждому числу, а каждому набору чисел, в том числе бесконечному) я однозначно ставлю в соответствие одно действительное число.

Например, число 0.0011 кодирует множество {2,3}. А число 0.1001001001001001001(001) кодирует бесконечное множество {0, 3, 6, 9, 12, ... } — все, что делятся на 3.

Таких кодировок несчетно много. Их ровно столько сколько действительных чисел от 0.00000... до 0.11111....

Но это множество чисел/кодировок, не последовательность, я не могу выписать их все по очереди и пронумеровать. Если бы мог — это было бы счетное множество. Но как нет самого маленького положительного числа, так нет и первого или второго по порядку числа в этом наборе. Мы можем с ним работать как с множеством, но не как со списком.