Вот тут — https://www.flickr.com/photos/lemezza/7924971264/in/album-72157631334930426/ — Конвей рассказывает про FRACTRAN — придуманный им "арифметический" язык программирования:
https://en.wikipedia.org/wiki/FRACTRAN .
Давайте я напишу об этом — благо, что это история короткая.
https://en.wikipedia.org/wiki/FRACTRAN .
Давайте я напишу об этом — благо, что это история короткая.
Flickr
John Conway
en.wikipedia.org/wiki/John_Horton_Conway
Программа на ФРАКТРАНе — это конечный упорядоченный набор дробей,
(p_1/q_1, p_2/q_2,..., p_k/q_k).
"Состояние компьютера" в каждый момент времени — это некоторое натуральное число A.
(p_1/q_1, p_2/q_2,..., p_k/q_k).
"Состояние компьютера" в каждый момент времени — это некоторое натуральное число A.
Правило перехода — на каждом такте мы идём по набору дробей слева направа, пытаясь найти такую дробь p_j/q_j, при умножении на которую состояние компьютера останется натуральным. Как только находим — объявляем это произведение
A':=A*p_j/q_j
новым состоянием компьютера.
A':=A*p_j/q_j
новым состоянием компьютера.
Если ни на одну дробь из набора домножить так, чтобы остаться в натуральных числах, нельзя — программа останавливается.
Понятно, что при этом хорошо заменять числа на их разложения на простые множители — и, например, считать, что чтобы подать на вход программы пару (a,b), нужно взять начальное состояние A=2^a * 3^b, а про результат договориться, что им будет степень пятёрки после остановки.
Например, задача удвоения решается программой из одной дроби: (25/2), тогда из 2^a мы сделаем 5^{2a}.
Задача сложения — дробями (5/2,5/3): начав с
2^a * 3^b, мы получаем 5^{a+b}.
Понятно, что при этом хорошо заменять числа на их разложения на простые множители — и, например, считать, что чтобы подать на вход программы пару (a,b), нужно взять начальное состояние A=2^a * 3^b, а про результат договориться, что им будет степень пятёрки после остановки.
Например, задача удвоения решается программой из одной дроби: (25/2), тогда из 2^a мы сделаем 5^{2a}.
Задача сложения — дробями (5/2,5/3): начав с
2^a * 3^b, мы получаем 5^{a+b}.
Математические байки
Вот тут — https://www.flickr.com/photos/lemezza/7924971264/in/album-72157631334930426/ — Конвей рассказывает про FRACTRAN — придуманный им "арифметический" язык программирования: https://en.wikipedia.org/wiki/FRACTRAN . Давайте я напишу об этом — благо,…
Хорошее упражнение — написать на этом языке "умножение", переводящее 2^a*3^b в 5^{ab}.
А программа, которую написал на доске Конвей, никогда не останавливалась — зато степени двойки, через которые она проходила, были в точности всеми числами вида 2^p, где p — простое.
А программа, которую написал на доске Конвей, никогда не останавливалась — зато степени двойки, через которые она проходила, были в точности всеми числами вида 2^p, где p — простое.
Forwarded from Backtracking (Дима Веснин)
This media is not supported in your browser
VIEW IN TELEGRAM
из всех посвящений Конвею, у XKCD вышло самое поэтичное
На N+1 несколько дней назад вышел наш с Раскиным текст про Конвея —
https://nplus1.ru/material/2020/04/16/on-conway
https://nplus1.ru/material/2020/04/16/on-conway
N + 1 — главное издание о науке, технике и технологиях
Игра "Жизнь" Джона Конвея, клеточный автомат: как играть и правила
Во что играл британский математик Джон Конвей
А ещё коллеги напомнили про текст Конвея и Шипмана про разные доказательства иррациональности корня из 2 —
Forwarded from Непрерывное математическое образование
irrational-conway.pdf
484.4 KB
Вот такой есть текст Конвея и Шипмана про разные доказательства иррациональности корня из 2
И доказательства там обсуждаются действительно разные! Кроме стандартного доказательства с делимостью — вот такое доказательство с наложением квадратов:
Если квадрат со стороной p равен по площади двум квадратам со стороной q, то вот меньшая аналогичная конфигурация: два пустых квадрата со стороной (p-q) по площади равны закрытому дважды квадрату в центре со стороной q-(p-q)=(2q-p).
И если кажется, что такое доказательство применимо только к корню из 2 — то вот такие же рассуждения для корня из трёх и для корня из 5 (точнее, для золотого сечения):
И ещё два классных доказательства.
Аналитическое: пусть корень из 2 рационален. Возведём \sqrt{2}-1 в большую-большую степень. С одной стороны, получаются сколь угодно малые положительные числа. С другой, после раскрытия скобок получаем выражение вида a\sqrt{2}+b, где a и b целые, поэтому она не может быть меньше 1/D, где D — знаменатель корня из двух. Противоречие.
Аналитическое: пусть корень из 2 рационален. Возведём \sqrt{2}-1 в большую-большую степень. С одной стороны, получаются сколь угодно малые положительные числа. С другой, после раскрытия скобок получаем выражение вида a\sqrt{2}+b, где a и b целые, поэтому она не может быть меньше 1/D, где D — знаменатель корня из двух. Противоречие.
Как легко видеть, оно же показывает, что корень любой степени из любого натурального числа либо натуральный, либо иррациональный — достаточно вычесть целую часть и возводить разность во всё большие степени.
И ещё одно — через обратные: если \sqrt{2}=P/Q, то он же равен 2/\sqrt{2}=2Q/P. Тогда равны их дробные части p/Q=q/P, то есть P/Q=p/q, где p и q меньше. И мы опять запустили процедуру спуска — так что если предположить, что P и Q были наименьшими, то вот и получается противоречие.
И это последнее доказательство — из книги Конвея и Ги, "The Book of Numbers".
Да — если уж я пересказываю эти доказательства, то "доказательство складыванием" тоже симпатичное: