Прихована ефективність трійкової системи — і чи не є гра, збудована на ній, непомітно елегантнішою машиною.
Написано й відредаговано англійською. Цю українську версію створено машинним перекладом; там, де важлива точність, авторитетним є англійський оригінал. Читати оригінал англійською →
3927 — це 2048, перебудована в трьох вимірах і в іншій арифметиці. Дошка — куб 3×3×3, двадцять сім клітинок, і ви штовхаєте весь куб у будь-якому з шести напрямків. Коли зіштовхуються три плитки однакового значення, вони не подвоюються, а потроюються. Трійка стає дев’яткою, дев’ятка — двадцять сімкою, і далі: 81, 243, 729. Сама назва перелічує перші три плитки — 3·9·27, — і весь дизайн складається з трійок донизу: по три на вісь, по три на злиття, три як коефіцієнт зростання. 4
Її предок уперто двійковий. Класична 2048 оперує степенями двійки — 2, 4, 8, 16… — і зливає плитки парами. Два — це число підкидання монети, транзистора, біта. Тож природне питання допитливого гравця: чи заміна двійки на трійку — лише новинка, чи трійка весь цей час ховала справжню перевагу? Виявляється, математика має на це думку, і думка ця напрочуд тверда.
Уявіть, що вам треба збудувати машину, яка зберігає числа. Кожна цифрова позиція вам чогось коштує — колеса, дроту, лампи, — і ця ціна зростає з основою, бо цифра за основою b потребує b розрізнюваних станів. Але більша основа також означає, що для будь-якого числа вам потрібно менше цифр. Тут є напруга, і вона має назву: економічність основи системи числення (radix economy).
Формально економічність запису числа N за основою b — це основа, помножена на кількість цифр: E(b,N) = b ⌊log_b N + 1⌋. 1 Велика основа дає короткі числа, але дорогі цифри; мала основа дешева на одну цифру, але розповзається. Десь між двома крайнощами лежить оптимальна точка, і вона не там, де опинилася більшість наших технологій.
| Основа | b ÷ ln b | порівняно з оптимумом |
|---|---|---|
| 2 | 2.885 | +6.2% |
| 3 | 2.731 | +0.5% |
| e ≈ 2.718 | 2.718 | оптимум |
| 10 | 4.343 | +59.8% |
Для великих N економічність поводиться як (b ÷ ln b) · ln N, тож ефективність основи цілком залежить від множника b ÷ ln b. Мінімізуйте його за допомогою трохи математичного аналізу, і відповідь буде точною й дивною: найекономнішою основою з усіх є e, приблизно 2,71828. 1 Звісно, не можна збудувати комп’ютер із 2,718 стану на цифру. Але можна спитати, яке ціле число найближче до цього ідеалу, і переможцем — випереджаючи і двійку, і десятку — стає трійка.
Цей розрив не академічний. Трійкова система лежить у межах пів відсотка від теоретичного оптимуму, тоді як двійкова платить шестивідсоткову надбавку, а десяткова — нищівні шістдесят. Відчути це можна конкретно: щоб записати будь-яке число від 0 до 999 999, двійковій системі потрібно 20 цифр, десятковій — 6, а трійковій — лише 13, і 13×3 дає менший добуток, ніж 20×2. 1 Трійка справді вміщує більше лічби в меншу структуру.
Природу попросили назвати найефективніший спосіб лічби, і вона відповіла ірраціональним числом. Найближче до цієї відповіді ціле число — три.
Це не просто підручникова цікавинка. 1958 року в Московському державному університеті команда під керівництвом Миколи Брусенцова та математика Сергія Соболєва збудувала «Сетунь» — найвідоміший трійковий комп’ютер з усіх, коли-небудь створених. 3 Поки Захід робив ставку на біти, «Сетунь» рахувала в тритах і використовувала особливо красиву схему — збалансовану трійкову систему, три значення цифр якої не 0, 1, 2, а −1, 0, +1. 2
Симетрія окупається одразу. Число несе власний знак — без окремого знакового біта, без викрутасів доповняльного коду, — а щоб змінити знак будь-якого значення, досить перевернути кожну цифру. Округлення й відкидання дробової частини стають однією операцією. Дональд Кнут назвав її «мабуть, найгарнішою системою числення з усіх». 2 Брусенцов, не маючи транзисторів, добував три стійкі стани з парних феритових осердь; було збудовано приблизно п’ятдесят «Сетуней», більшість яких розіслали для навчання математики в радянських університетах. 3 Машина працювала, була дешевою і непомітно випереджала своїх сусідів.
Саме тут уважний автор мусить стримати себе. Економічність основи — це твердження про зберігання й обробку чисел за певних припущень щодо витрат, і навіть математики зауважують, що ці припущення лише наближені; повніший облік часто знову виправдовує двійкову систему, і тому світ працює саме на ній. 1 Головоломка на злиття — не банк пам’яті; ніхто не мінімізує кількість ламп під час перерви на каву. Тож 3927 не є «ефективнішою» в жодному вагомому інженерному сенсі, і казати так було б шахрайством.
І все ж. Гра успадковує щось правдиве. Зростання потроєнням досягає великих чисел за меншу кількість вагоміших ходів; кожне злиття виконує більше роботи, а куб 3×3×3 — найменша дошка, що дає трибічному злиттю простір у кожному напрямку. 4 Дизайн не натрапив на трійку випадково — він прийшов до того цілого числа, якому математика лічби тихо віддає перевагу від самого світанку електронних обчислень, того, яке інженери «Сетуні» обрали свідомо. Два — це число, на якому ми зупинилися за замовчуванням. Три — число, яке ми обрали б, якби останнє слово мала ефективність, а не підкидання монети. А те, що плитки складаються в 3, 9, 27, — маленький жарт, який всесвіт уже розповідав.
Game facts, the 3×3×3 board, six shift directions, three-tile ×3 merge, and the 3·9·27 naming, are measured from the game's design documents. Mathematical and historical claims are drawn from the references below.