Опишите несколько способов доказать, что множество рациональных чисел счетно, сравните конструкции перечисления и укажите преимущества каждой формулировки
Кратко — несколько классических способов и сравнение их свойств. 1) Диагональный (канторовская параинговая функция). - Построение: сначала бижекция Z↔N\mathbb{Z}\leftrightarrow\mathbb{N}Z↔N (например, g(0)=0, g(n)=2n−1, g(−n)=2ng(0)=0,\;g(n)=2n-1,\;g(-n)=2ng(0)=0,g(n)=2n−1,g(−n)=2n для n>0n>0n>0), затем бижекция N×N↔N\mathbb{N}\times\mathbb{N}\leftrightarrow\mathbb{N}N×N↔N через кантор-функцию π(m,n)=(m+n)(m+n+1)2+n.\displaystyle \pi(m,n)=\frac{(m+n)(m+n+1)}{2}+n.π(m,n)=2(m+n)(m+n+1)+n.
- Применение: кодируем дробь pq\frac{p}{q}qp (взяв q>0q>0q>0) как пара (g(p),q)(g(p),q)(g(p),q) и получаем явную биекцию Q→N\mathbb{Q}\to\mathbb{N}Q→N (при желании отсеиваем нережущиеся копии, беря только несократимые дроби). - Преимущества: простая, даёт явную формулу; легко доказывает счётность. 2) Счётная сумма счётных множеств (простое доказательство). - Набор: Q=⋃q=1∞{ pq:p∈Z }.\displaystyle \mathbb{Q}=\bigcup_{q=1}^{\infty}\{\,\tfrac{p}{q}:p\in\mathbb{Z}\,\}.Q=q=1⋃∞{qp:p∈Z}.
- Каждое множество в объединении счётно, значит объединение счётно (по теореме: сумма счётного числа счётных множеств — счётна). - Преимущество: коротко, концептуально; не требует явной нумерации элементов. 3) Перечисление матрицы дробей (диагональный обход с исключением сокращённых). - Разложим все пары (p,q)(p,q)(p,q) на сетке и пройдём по диагоналям (канторовская "зигзагообразная" нумерация), при встрече берем только несократимые дроби с q>0q>0q>0. - Преимущество: даёт явную возрастающую по «весу» нумерацию (по сумме индексов), легко реализуется программно; показывает конструктивное перечисление без пропусков. 4) Деревья: Calkin–Wilf и Stern–Brocot. - Calkin–Wilf: корень 1/11/11/1; если узел a/ba/ba/b, дети — a/(a+b)a/(a+b)a/(a+b) и (a+b)/b(a+b)/b(a+b)/b. Обход в ширину перечисляет каждое положительное несократимое рациональное ровно один раз. По двоичному представлению номера nnn можно вычислить nnn-ю дробь. - Stern–Brocot: строится медиантами; обход даёт все положительные несократимые дроби в возрастающем порядке (полезно для приближений и двоичного поиска рационалов). - Преимущества: никакого дублирования, эффективные алгоритмы для получения n-й дроби; Stern–Brocot даёт упорядоченную по величине последовательность (важно для приближений). 5) Кодирование простыми (Гёдель-подобно). - Кодируем пару целых как 2a3b\displaystyle 2^{a}3^{b}2a3b (или любая кодировка через простые). По фундаментальной теореме арифметики это даёт явную биекцию между конечными последовательностями целых и N\mathbb{N}N, откуда следует биекция для Q\mathbb{Q}Q. - Преимущество: строгая арифметическая биекция, полезна в теории вычислимости и формальных конструкциях. Сравнение конструкций (кратко): - Простота доказательства: объединение счётных множеств и диагональный аргумент — самые простые. - Явная формула/биекция: кантор-параинг и кодирование простыми дают явную замкнутую формулу. - Отсутствие дубликатов и конструктивность: Calkin–Wilf и Stern–Brocot — лучшие (каждое положительное рациональное появляется ровно один раз). - Упорядоченность: Stern–Brocot даёт возрастающий порядок дробей; диагональные методы — по «весу», но не по значению. - Вычислимость n-й дроби: Calkin–Wilf (и через двоичное представление) даёт простой способ получить n-ю дробь; для кантор-функции тоже можно восстановить пару по номеру, но чаще сложнее интерпретировать как несократимую дробь. Замечание: чтобы охватить отрицательные и ноль, в любую из конструкций достаточно добавить учёт знака (т.е. бить Q={0}∪{±r:r∈Q>0}\mathbb{Q}=\{0\}\cup\{\pm r:r\in\mathbb{Q}_{>0}\}Q={0}∪{±r:r∈Q>0}).
1) Диагональный (канторовская параинговая функция).
- Построение: сначала бижекция Z↔N\mathbb{Z}\leftrightarrow\mathbb{N}Z↔N (например, g(0)=0, g(n)=2n−1, g(−n)=2ng(0)=0,\;g(n)=2n-1,\;g(-n)=2ng(0)=0,g(n)=2n−1,g(−n)=2n для n>0n>0n>0), затем бижекция N×N↔N\mathbb{N}\times\mathbb{N}\leftrightarrow\mathbb{N}N×N↔N через кантор-функцию
π(m,n)=(m+n)(m+n+1)2+n.\displaystyle \pi(m,n)=\frac{(m+n)(m+n+1)}{2}+n.π(m,n)=2(m+n)(m+n+1) +n. - Применение: кодируем дробь pq\frac{p}{q}qp (взяв q>0q>0q>0) как пара (g(p),q)(g(p),q)(g(p),q) и получаем явную биекцию Q→N\mathbb{Q}\to\mathbb{N}Q→N (при желании отсеиваем нережущиеся копии, беря только несократимые дроби).
- Преимущества: простая, даёт явную формулу; легко доказывает счётность.
2) Счётная сумма счётных множеств (простое доказательство).
- Набор: Q=⋃q=1∞{ pq:p∈Z }.\displaystyle \mathbb{Q}=\bigcup_{q=1}^{\infty}\{\,\tfrac{p}{q}:p\in\mathbb{Z}\,\}.Q=q=1⋃∞ {qp :p∈Z}. - Каждое множество в объединении счётно, значит объединение счётно (по теореме: сумма счётного числа счётных множеств — счётна).
- Преимущество: коротко, концептуально; не требует явной нумерации элементов.
3) Перечисление матрицы дробей (диагональный обход с исключением сокращённых).
- Разложим все пары (p,q)(p,q)(p,q) на сетке и пройдём по диагоналям (канторовская "зигзагообразная" нумерация), при встрече берем только несократимые дроби с q>0q>0q>0.
- Преимущество: даёт явную возрастающую по «весу» нумерацию (по сумме индексов), легко реализуется программно; показывает конструктивное перечисление без пропусков.
4) Деревья: Calkin–Wilf и Stern–Brocot.
- Calkin–Wilf: корень 1/11/11/1; если узел a/ba/ba/b, дети — a/(a+b)a/(a+b)a/(a+b) и (a+b)/b(a+b)/b(a+b)/b. Обход в ширину перечисляет каждое положительное несократимое рациональное ровно один раз. По двоичному представлению номера nnn можно вычислить nnn-ю дробь.
- Stern–Brocot: строится медиантами; обход даёт все положительные несократимые дроби в возрастающем порядке (полезно для приближений и двоичного поиска рационалов).
- Преимущества: никакого дублирования, эффективные алгоритмы для получения n-й дроби; Stern–Brocot даёт упорядоченную по величине последовательность (важно для приближений).
5) Кодирование простыми (Гёдель-подобно).
- Кодируем пару целых как 2a3b\displaystyle 2^{a}3^{b}2a3b (или любая кодировка через простые). По фундаментальной теореме арифметики это даёт явную биекцию между конечными последовательностями целых и N\mathbb{N}N, откуда следует биекция для Q\mathbb{Q}Q.
- Преимущество: строгая арифметическая биекция, полезна в теории вычислимости и формальных конструкциях.
Сравнение конструкций (кратко):
- Простота доказательства: объединение счётных множеств и диагональный аргумент — самые простые.
- Явная формула/биекция: кантор-параинг и кодирование простыми дают явную замкнутую формулу.
- Отсутствие дубликатов и конструктивность: Calkin–Wilf и Stern–Brocot — лучшие (каждое положительное рациональное появляется ровно один раз).
- Упорядоченность: Stern–Brocot даёт возрастающий порядок дробей; диагональные методы — по «весу», но не по значению.
- Вычислимость n-й дроби: Calkin–Wilf (и через двоичное представление) даёт простой способ получить n-ю дробь; для кантор-функции тоже можно восстановить пару по номеру, но чаще сложнее интерпретировать как несократимую дробь.
Замечание: чтобы охватить отрицательные и ноль, в любую из конструкций достаточно добавить учёт знака (т.е. бить Q={0}∪{±r:r∈Q>0}\mathbb{Q}=\{0\}\cup\{\pm r:r\in\mathbb{Q}_{>0}\}Q={0}∪{±r:r∈Q>0 }).