Не верь, не бойся, не проси - July 31st, 2021 [entries|archive|friends|userinfo]
phantom

[ website | My Website ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

July 31st, 2021

[Jul. 31st, 2021|03:25 pm]
Неожиданная связь Морзе и Фибоначчи

Решил выучить морзянку. Как обычно, задался вопросом, как бы я спроектировал её (почти) с нуля? Учитывая отличие от обычных кодировок символов, - вариативность длительности групп.

Что возьмём известным даже тому, кто целенаправленно не изучал эту тему? Примем, что есть точка, есть тире, тире длится с 3 точки, паузы внутри буквы - в точку, между буквами - больше, между словами - ещё больше. (Заметки на полях: ещё каждому известен сигнал SOS, но это нам не понадобится).

Главным свойством морзянки должна быть максимизация скорости передачи. Значит, упорядочим алфавит по убыванию частоты букв в корпусе обычных текстов, разобьём его на группы по длине групп кодов и распределим коды по буквам в группах.

Вроде бы, наиболее правильно частота букв подсчитана по Леванду*: etaoinshrdlcumwfgypbvkjxqz. Собственно, саму частоту букв знать не надо. Теперь этот ряд надо подразбить на группы по длинам кодов.

Код всегда начинается и заканчивается не-паузой, значит, длина его всегда нечётна. Вручную распределив коды по длине, получим группы длиной по: 1 2 3 5 8 13 ..., в сумме 32, достаточно для букв. Запросив OEIS по этому ряду*, осознаем, что это ведь спиральные числа. (Заметки на полях: это я фибоначчевы числа переименовал так).

Неожиданно. Но становится очевидным, если подумать над индукционным переходом. Поиск показывает, что факт известный, но плохо: не знает вики, не знает OEIS, одна статья малоизвестная выпала, однако*. (Заметки на полях: в коде с тремя чертами, типа оригинальной морзянки, группы сформируются по обобщённо-спиральным числам).

Теперь распределим буквы по этим группам и сравним с общепринятым стадартом ITU*:
e ta oin shrdl cumwfgyp bvkjxqz
e ti asn uhrdm bklwfgv5 pсzox46...

Очень неплохое совпадение, если учесть необходимость исторических компромиссов по совместимости, недоразвитость корпусной лингвистики на момент принятия ITU и тот факт, что интернациональная морзянка не для английского, вообще говоря, предназначалась. Грубая ошибка допущена одна: очень частая буква О - в группе длины 11. (Заметки на полях: наследие SOS-а?).

Также группу длины 11 надо было насытить сначала буквами, а не переходить к цифрам и служебным символам. Так, несколько букв (jyq) переместились в группу длины 13. И наконец, в этой группе 21 слот, и более длинные группы не нужны были, а они есть, например, 0 - длины аж 19. (Заметки на полях: хотя и понятно, что это для облегчения запоминания оператором делалось).
Link9 comments|Leave a comment

navigation
[ viewing | July 31st, 2021 ]
[ go | Previous Day|Next Day ]