Отвечаем на ваши гипотетические вопросы с точки зрения физики

Телефонная клавиатура

Оригинал: Phone Keypad

У меня один из тех старых телефонов, где текст набираешь цифровыми клавишами: например, чтобы ввести «Y», трижды нажимаешь девятку. В некоторых словах буквы, соответствующие одной цифре, идут подряд. Когда это происходит, приходится делать паузы между буквами, так что при наборе такие слова весьма раздражают. Какое английское слово содержит наибольшее количество букв с одной клавиши?

— Стюарт Бишоп

На этот вопрос можно ответить с помощью следующей головоломной shell-команды, которая одновременно вызывает головную боль и находит в заданном списке все слова, в которых буквы с одной клавиши встречаются несколько раз подряд:

cat wordlist.txt | perl -pe 's/^(.*)$/\L$& \U$&/g' | \
tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' '2223334445556667777888999' | \
grep -P "(.)\1\1\1\1\1"

Если верить этому скрипту, победитель — слово nonmonogamous («немоногамный»), при вводе которого придётся набрать одну за другой семь букв (nonmono), «живущих» на клавише «6»[1].У этого слова ничья с nonmonotonic («немонотонный»). Несомненно, оба победителя проигрывают более неочевидным словам, которых не было в моих списках.

Предложения для телефонной клавиатуры

Редко встретишь слово, все буквы которого соответствуют одной цифре; распространённые слова[2]Такие, как "tutu". с этим свойством не длиннее нескольких букв. И всё же, мы можем составить из них «a high def MMO on TV» («MMO в высоком разрешении по телевизору») — фразу, каждое слово которой задействует единственную клавишу.

Ещё один часок, и всё.

Таких фраз сколько угодно, но некоторые из них слегка перегибают палку:

Раскошеливайся!

Подобные проблемы с набором текста характерны не только для старых телефонных клавиатур. Для любой системы ввода можно найти фразы, набирать которые неудобно.

QWERTY-клавиатуры

Гикам печатного слова хорошо известен тот факт, что stewardesses («стюардессы») — это самое длинное слово, которое можно набрать на QWERTY-клавиатуре только левой рукой.

В сущности, не используя правую руку, можно вводить целые предложения. Попробуйте, например, набрать такое: «We reserved seats at a secret Starcraft fest» («Мы забронировали места на тайном Starcraft-фестивале»). Неудобно, мм?

Давайте посмотрим ещё несколько предложений (сочинённых при помощи куда более запутанных shell-команд и скриптов на Python[3]),Я составил эти предложения следующим образом: искал по текстовым логам фрагменты, удовлетворяющие некоторым условиям, а затем соединял их в случайном порядке с помощью цепей Маркова. Код, который я использовал, можно посмотреть здесь. которые удовлетворяют всевозможным ограничениям:

Только левая рука

Оно того стоило.
ВСТРЕТЬ ХОРЬКА ИЗ СВОЕГО ГОРОДА СЕГОДНЯ!

Только правая рука

Да как ты СМЕЕШЬ!
ОБОЖЕМОЙ, щенячье молоко!

Только средний ряд

Он глянул, что на нём записано, и моментально умер.
Но всё-таки она очень мила!
Хрустит.

Только верхний ряд

А ещё мы принесли молока!
А хуже всего то, что стишок-то был неплох.

И наконец, если кто-нибудь спросит, почему вы свернули активность в социальных сетях, вам хватит верхнего ряда, чтобы объяснить:

…или ретвитить

От переводчиков

Стоп-стоп-стоп, а как же русская раскладка?

— Все читатели «Что если?»

Если пользоваться русским словарём из состава myspell, то аналогом nonmonogamous в русском языке будет «симпомпончик». Чтобы набрать «мпомпон», нужно 7 раз нажать на клавишу «5». Рецепт получения слов пришлось слегка адаптировать для работы с многобайтовыми кодировками и русской телефонной раскладкой:

cat wordlist.txt | sed -e 's/^\(.*\)$/\L\1 \U\1/' | \
sed -e 'y/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/222233333444455556666777788889999/' | \
grep -P "(.)\1\1\1\1\1"

Классический алгоритм, использующий цепи Маркова, выдаёт для русского текста не такие замечательные результаты, как для английского. Перемешав в случайном порядке фрагменты предложений, гораздо проще получить связный английский текст, грамматика русского страдает сильнее. Ещё хуже ситуация становится, если наложить ограничение на встречающиеся буквы. И всё же, слегка модифицировав алгоритм и «скормив» ему Ильфа и Петрова, Толстого и ещё кое-что, а потом разобрав вывод вручную, можно получить интересные результаты.

Только левая рука

Актуально в ноябре.
Два раза!

Только средний ряд

А я накупил Bitcoinʼов год назад.