(no subject)
Jan. 2nd, 2020 03:44 pmБудь в алфавите больше литер, я бы сложил из них слова.
М. Щербаков. Тарантелла.
Благодарности.
Алексею (oxothuk) за идею, реализацию и всемерную поддержку проекта.
Роману (erudit1) за неоценимый вклад, раскрытие глаз и поиск первоисточников.
Дисклеймер.
При составлении данного текста ни один Рональд Макдональд не пострадал. Данный текст относится только и исключительно к мобильному приложению «Эрудит» (PlayMarket, AppStore). Вы знакомитесь с ним на свой страх и риск, взрыв мозга не гарантирован, но возможен. Как это... «Возможно, эти замечания об Искаженном Мире не имеют ничего общего с Искаженным Миром. Но путешественник предупрежден» (с). Впрочем, даже если вы не фанат подобных забав, но у вас аналитический склад ума или просто дружите с математикой, милости прошу критиковать и комментировать – здесь, на Телеграм-канале игры или в личку там же.
Проблема
Непропорциональное соотношение букв в мешке: Одних букв избыточно много, других, наоборот, до обидного мало. В результате дешёвая буква В приходит почти в каждой раздаче, а продуктивных Ш и Ю – всего по одной. И что-то подозрительно часто мелькает Ъ, хотя слов с ним – раз, два и обчёлся.
История
За основу в мобильном приложении была взята оригинальная (настольная) версия Эрудита с фиксированным словарём, 128 буквами и 2 звёздами в мешке и распределением букв в нём согласно представлениям тогдашних разработчиков. Логическое обоснование количества каждой из фишек в мешке, а равно и статистические методы, используемые в то время (60-е годы прошлого века) нам неведомы. Авторы, сетуют, что для статистического анализа использовался текст, а не словарь (не уточняя, впрочем, какой именно), без фильтра по частям речи, тогда как, например, чуть не каждое первое слово, оканчивающееся на -Й оказывается прилагательным. Здесь чувствуется некое лукавство: к настольной версии прилагался словарь допустимых в игре слов. Что помешало авторам игры построить статистику на базе этого словаря, а не абстрактного «текста» – тайна сия велика есть. Со статьёй разработчиков в журнале «Наука и Жизнь» за июль 1968 г. можно ознакомиться здесь.
Со времени выхода приложения многое поменялось: расширился и отредактировался словарь, появилась возможность использовать три звезды на поле вместо двух и т. д. Однако распределение букв в мешке осталось прежним и мы по-прежнему страдаем, да…
Анализ: поверим алгеброй гармонию.
Казалось бы – чего проще? Засасывай словарь в статистический анализатор и смотри встречаемость каждой буквы. Потом дели полученное число на общее количество букв в словаре и умножай на 128 – получишь искомое. Даже такой прямолинейный, прапорщик-style подход результаты выдаёт обескураживающие: в мешке из 128 фишек присутствуют: 0.58 Э, 0.64 Ю, 0.34 Щ и 0.03 Ъ!! Получается, что Ъ в мешке вообще быть не должно. Ну или мешок нужно раздуть до размера 2500 фишек – тогда глядишь, хоть один завалящий Ъ в нём отыщется. В словаре всего 148 слов с Ъ из ~52,000 – или 0.28%. А если отбросить слова длиннее семи букв (о длине слов ниже), то и вовсе останется 26 (0.05%)!!
Ну и как вы себя чувствуете, когда вам три раза за игру приходит вот такой очень твёрдый знак, а вероятность успешного выкладывания слова с его участием – пять сотых процента? *
Кроме того, фишек в мешке целое (и довольно небольшое) число, а встречаемость буквы бывает 1.4979 или, например, 2.5031. Что прикажете делать с такими? Простое удвоение мешка решит проблему для таких букв, но породит её для других.
Но допустим, мы как-то исхитрились и победили все эти трудности. Теперь-то можно играть или мы что-то упустили в наших выкладках? Посмотрим на распределение слов в словаре по длине. Две трети(!!) слов в словаре имеют длину от 8 до 15 букв. Вам часто удаётся выкладывать такие? Получилось превратить начальное ПЕРЕНОС в ПЕРЕНОСКА – счастье и удача, а уж если в ПЕРЕНОСЧИЦА, дотянув до красненькой, то вообще о-о-ооахх!.. триумф и лингвистический оргазм.
Тем не менее, играя в Эрудит, мы чаще всего выкладываем двух- трех- и четырехбуквенные слова. Более длинные – существенно реже. Вызвано это двумя причинами. Первая продиктована условиями игры: в большинстве случаев множество коротких слов выгоднее, чем одно длинное – буквы на пересечениях используются как минимум дважды; грамотно подставленная буква использует уже выставленные комбинации, тогда как восьмибуквенное слово из семи фишек на руке и одной на поле даст, как правило, существенно меньший выигрыш. Вторая причина – всё в той же комбинаторике. Для того чтобы выложить КИНОАППАРАТУРА из 14 букв нужно иметь как минимум готовый 7-буквенный АППАРАТ на поле и набор КИНОУРА на руке. Согласитесь, весьма маловероятный расклад.
Так к чему всё это? А вот к чему. Влияет ли длина слова на встречаемость буквы? Ого, ещё как! В двухбуквенных словах (самоочевидно, но напомню: сущ., ед. ч., им. п.) буква Й не встречается ни разу. Зато в 6- тире 15-буквенных она встречается аж ДЖВА раза: ХАЙВЭЙ, СЕЙСМОСТОЙКОСТЬ и ещё пара десятков таких же уникумов между ними. Вы, нынешние, ну-тка! Сколько раз выложили слова с двумя Й? Ь и Ъ в этом контексте и упоминать смешно. Даже для самых распространённых А и О встречаемость от длины слова варьируется серьёзно – от 7% до 12.5%, то есть почти вдвое!
М-да, задачка... Как же нам рассчитать реальную встречаемость букв для Эрудита? Э-ээ… Ну это… можно, например, выкинуть словарь, взять историю игр минус стартовое слово и считать по ним – там за 8 лет игры, поди, столько понаписали… Однако, в этом случае:
- Получим температуру в среднем по больнице. Доктор филологических наук профессор Преображенский и двоишнег Вася Пупкин оперируют несколько разыми лексическими наборами. При этом, даже учитывая то, что целевая аудитория игры – люди образованные, джентльменов-то хватает, местов мало статистика может оказаться отнюдь не в пользу профессора.
- Есть опасность, что такой подход запустит новую итерацию рекурсии и влияния системы саму на себя: слова, которые выкладывали игроки до сих пор – они не от хорошей жизни, а результат тантрической эквилибристики с целью выгодно пристроить скопившиеся неликвиды (вспомним добавленные в словарь ЮЦ, ВЗЪЁМ и им подобные). Что, в свою очередь, порождает философские вопросы типа:
- «Курица или яйцо?» «Бытие или сознание?» и прочая казуистика. Адаптируем Эрудит к ВМРЯ или напишем свой могучий велик для Эрудита с бдэкджеком и шлюхами?
В общем, пока вопросов больше, чем готовых решений. Тем не менее, несколько предварительных вариантов имеется.
Предложения.
1. 1. Средняя встречаемость рассчитывается по (2~7)-буквенным словам в словаре.
Примем, что словарь у нас состоит из 17,685 слов не длиннее 7 букв. Почему именно 7, если и 5-буквенное слово – редкая птица, не говоря уже о более длинных? Ну, у нас 7 букв на руке в начале всякого хода. Кроме того, 6 и 7 будут делегатами более длинных слов и сбалансируют выборку. Останется только внести поправку на встречаемость длины слова в словре:

То есть средняя встречаемость буквы в слове Z рассчитывается по формуле
Yn – средняя встречаемость слова длиной n букв.
n – длина слова
Буква | Встр. | К-во в мешке | Буква | Встр. | К-во в мешке | Буква | Встр. | К-во в мешке |
А (10) | 0.117269 | 15.010432 | К (6) | 0.062615 | 8.01472 | Х (2) | 0.00986 | 1.26208 |
Б (3) | 0.023353 | 2.989184 | Л (4) | 0.049209 | 6.298752 | Ц (1) | 0.009372 | 1.199616 |
В (5) | 0.023917 | 3.061376 | М (5) | 0.029817 | 3.816576 | Ч (2) | 0.01036 | 1.32608 |
Г (3) | 0.021669 | 2.773632 | Н (8) | 0.056733 | 7.261824 | Ш (1) | 0.011816 | 1.512448 |
Д (5) | 0.028491 | 3.646848 | О (10) | 0.079876 | 10.224128 | Щ (1) | 0.002709 | 0.346752 |
Е (9) | 0.061248 | 7.839744 | П (6) | 0.032365 | 4.14272 | Ъ (1) | 0.000246 | 0.031488 |
Ё (0) | 0.004831 | 0.618368 | Р (6) | 0.06848 | 8.76544 | Ы (1) | 0.007503 | 0.960384 |
Ж (5) | 0.008169 | 1.045632 | С (6) | 0.043964 | 5.627392 | Ь (2) | 0.014754 | 1.888512 |
З (5) | 0.017917 | 2.293376 | Т (5) | 0.056601 | 7.244928 | Э (1) | 0.004578 | 0.585984 |
И (8) | 0.070172 | 8.982016 | У (3) | 0.032791 | 4.197248 | Ю (1) | 0.005042 | 0.645376 |
Й (4) | 0.008048 | 1.030144 | Ф (1) | 0.011177 | 1.430656 | Я (3) | 0.015044 | 1.925632 |
2. Бесконечный мешок.
Погодите возмущаться. В класическом Эрудите, да и в Скрэббле, действительно, возможна ситуация, когда все фишки выставлены на поле. В этом случае победа присуждается тому кто набрал больше очков. Однако бесконечный мешок в настольной версии нереализуем. А в электронной – пожалуйста! И нам теперь абсолютно до лампочки, чтобы в мешке было целое количество фишек, достаточно знать вероятность выпадения той или иной буквы! А мы её знаем! Ну... или думаем, что знаем.
В турнирах всё равно только один ход. В онлайн поединках всяко играем до 300, мешок не успевает опустеть. Остаётся игра с ПК и договорные. Так ли критично? Кроме того, сами разработчики настольной игры признаются, что в идеале нужен мешок в 3000 фишек и они сознательно пошли на искажения/допущения, чтобы получить в итоге 130.
Вероятность выпадения буквы в конечном мешке изменяется динамически. То есть вероятность выпадения, скажем, того же Ъ (или, наоборот, *) будет возрастать по мере опустошения мешка. А в бесконечном она линейна и постоянна, и всегда будет ~3.15%, пусть вы уже хоть 8 штук твёрдых знаков выставили.
На мой взгляд, три звезды за игру в текущей версии – вполне сбалансированное решение. Вероятность выпадения такой звезды Z* = 3/131 или 0.022900763. Почему бы не оставить эту вероятность? Только считать выпадения звёзд и не выбрасывать больше, если три уже выпало.
По признанию разработчиков оригинала, «Что же касается цены каждой буквы, то она на значена как обратная величина частоты (конечно, с необходимой стеnенью округления).» Если руководствоваться этим правилом, то Ъ должен стоить 4065(!) очков. Что, конечно, нонсенс. Но, возможно, имеет смысл вытряхнуть глобус из совы и пересмотреть стоимость каждой буквы в свете предлагаемых изменений?
Из игры в игру кочует набор одних и тех же 2- и 3-буквенных слов: ЦИ ЦЫ, ШЭ, ЛЭ, ДЭ, ШЭН, ШЕН, ВА, КЮ, МЮ, НЮ, ЮС, ЮТ, ЮТЕ, ЭВЕ, ЭРЕ и пр. Эрудиции они сильно не прибавляют, а на продвинутых игроков и вовсе нагоняют тоску: те вообще настраивают игру с ПК на минимум длины слова 4, а то и 5 букв. Но то оффлайн… А попробовать волюнтаристски продавить старт с четырёх в поединках и турнире – хомячки затопчут. Или, может быть, всё-таки… а? Начать хотя бы с турнира, в порядке эксперимента?.. Я тогда пересчитаю статистику.
________
P.S. Ах да. Песенка из эпиграфа
Насладитесь.
Перья долой, подать фужеры, фрукты и музыку сюда.
Будем бездельничать, моншеры! Станем лениться, господа!