Розпочнемо з задачі
[ДУЄ ВІТЕР]
Аліса та Боб живуть у халабудах на деревах,
що знаходяться далеко один від одного,
без лінії з'єднання між ними.
І їм потрібно спілкуватися.
Тому вони вирішили протягнути дріт
між їхніми домами.
Вони натягнули дроти туго,
і приєднали до кінців бляшанки,
це дозволило їм надсилати їхні невиразні
голоси вздовж дроту
[Боб - приглушено] "Привіт?"
[Еліс - приглушено] Алло? Я тебе не чую.
[Боб -приглушено] Я тебе ледь-ледь чую.
[Еліс - приглушено] 1.2.3.4.5.
Крім того, є проблема:
"шум".
Кожного разу, коли здіймається сильний вітер,
стає неможливим почути
сигнали з-поміж шуму.
Тому вони повинні збільшити
рівень сили сигналу,
щоб відділити його від шуму.
Це наштовхнуло Боба на ідею.
Вони будуть просто смикати дріт,
який набагато легше виявити з-поміж шуму.
Але це приведе до нової проблеми.
Як вони розшифрують свої повідомлення за смиканням?
Якщо вони захочуть пограти
у настільні ігри на відстані, то
вони візьмуться спершу за найпоширеніші повідомлення -
результати кидків двох гральних костей.
В цьому випадку, надіслані повідомлення
можна розглядати як набір
з скінченним числом "символів" -
в цьому випадку, 11 можливих чисел,
які ми називаємо "дискретним джерелом".
Для початку вони вирішили використати найпростіший метод.
Вони надсилали результат за кількістю смикань.
Отож, щоб надіслати "3", вони смикали дріт три рази.
"9" - дев'ять смикань.
Для "12" - дванадцять смикань.
Згодом вони зрозуміли, що це забирає
більше часу, ніж потрібно.
З практичного досвіду вони виявили, що їхня максимальна швидкість смикання
є два смика в секунду.
Якщо швидше, то це зіб'є їх з толку.
Тому два смика в секунду можна визначити як "відношення" -
або "ємність" - для надсилання інформації таким чином
[звук смикання]
І виявляється, що
найбільш поширеною комбінацією є 7 -
тому це забирає 3,5 секунди, щоб надіслати число 7.
[звук 7-ми смикань]
Еліс з часом усвідомлює, що вони можуть зробити це краще,
якщо вони змінять свою стратегію кодування.
Вона зрозуміла, що шанси кожного відправленого числа
наслідують простий шаблон.
Є один шанс, що випаде 2.
Два шанси, що випаде 3.
Три шанси, що випаде 4
Чотири шанси, що випаде 5.
П'ять шансів, що випаде 6.
Шість шансів, що випаде 7 -
найбільш частіший результат.
П'ять шансів, що випаде 8.
Чотири шанси для 9 -
і так далі, і так далі до одного шансу для 12.
Цей графік показує
число кожного шансу для кожного результату, що може з'явитися.
І шаблон є очевидним.
Тому зараз, давайте змінимо графік на
"кількість смикань навпроти кожного символу".
Вона продовжує з присвоювання
самому поширеному числу -
7 - найкоротшого сигналу - одного смику.
[звук одного смику]
Вона продовжує з найбільш ймовірних чисел.
А якщо рахунок рівний, вона вибирає навмання.
В цьому випадку, вона обирає 6 для 2 смикань,
потім 8 для трьох смикань,
повертається до 5 для 4 смикань,
і до 9 для п'ятьох смикань,
і так далі, поки не дійде до 12,
що присвоєно 11 смиканням.
Тепер, найбільш часто вживане число, 7,
може бути надіслане менш ніж за секунду -
велетенське досягнення.
Проста зміна дозволила їм надсилати
більше інформації за однаковий проміжок часу, в середньому.
Насправді, ця стратегія кодування є оптимальною
для цього простого прикладу -
для вас буде неможливо
винайти коротший метод
надсилання двох гральних костей, використовуючи ідентичні смикання.
Проте, після гри з дротом деякий час,
Бобові спадає нова ідея.
[чути збоку як хтось грається зі звуками смикання]