kyty3ob: (Default)
[personal profile] kyty3ob
Есть на планете город Питер. Он поделён на острова.
Будь в алфавите больше литер, я бы сложил из них слова.

М. Щербаков. Тарантелла.

Благодарности.

Алексею (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 рассчитывается по формуле

Za = Xa2*Y2 + Xa3*Y3 + Xa4*Y4 + Xa5*Y5 + Xa6*Y6 + Xa7*Y7, где:

Xan – средняя встречаемость буквы А в слове длиной n букв
Yn – средняя встречаемость слова длиной n букв.
n – длина слова

Получаем вот такое таблидзе. «Встречаемость» показывает, сколько раз буква встретится в любом слове, выдернутом наугад из нашего семибуквенного словаря, а количество фишек рассчитано на мешок в 128 букв. Оранжевым подсвечены буквы, количество которых в мешке (после округления) отличается от оригинала. Красным – буквы, которых в мешке меньше единицы. Жёлтым – приграничные значения. В скобках – количество фишек в оригинальном мешке.

Буква

Встр.

К-во в мешке

Буква

Встр.

К-во в мешке

Буква

Встр.

К-во в мешке

А (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 штук твёрдых знаков выставили.

Да, кроме букв в мешке ведь есть ещё и звёзды! Как быть с ними? Их что, тоже бесконечное количество, что ли? И как часто они будут выпадать?

3. 3. Звёзды.
На мой взгляд, три звезды за игру в текущей версии – вполне сбалансированное решение. Вероятность выпадения такой звезды Z* = 3/131 или 0.022900763. Почему бы не оставить эту вероятность? Только считать выпадения звёзд и не выбрасывать больше, если три уже выпало.

Further dev. В порядке бре… да?

А послезавтра – революция.
По признанию разработчиков оригинала, «Что же касается цены каждой буквы, то она на значена как обратная величина частоты (конечно, с необходимой стеnенью округления).» Если руководствоваться этим правилом, то Ъ должен стоить 4065(!) очков. Что, конечно, нонсенс. Но, возможно, имеет смысл вытряхнуть глобус из совы и пересмотреть стоимость каждой буквы в свете предлагаемых изменений?

Аскетизм – путь к просветлению.
Из игры в игру кочует набор одних и тех же 2- и 3-буквенных слов: ЦИ ЦЫ, ШЭ, ЛЭ, ДЭ, ШЭН, ШЕН, ВА, КЮ, МЮ, НЮ, ЮС, ЮТ, ЮТЕ, ЭВЕ, ЭРЕ и пр. Эрудиции они сильно не прибавляют, а на продвинутых игроков и вовсе нагоняют тоску: те вообще настраивают игру с ПК на минимум длины слова 4, а то и 5 букв. Но то оффлайн… А попробовать волюнтаристски продавить старт с четырёх в поединках и турнире – хомячки затопчут. Или, может быть, всё-таки… а? Начать хотя бы с турнира, в порядке эксперимента?.. Я тогда пересчитаю статистику.

________

* Это я кокетничаю, конечно. Здесь не учтены вероятности появления на руке и на поле других нужных букв, так что на самом деле вероятность несколько больше. Ну пусть даже в 10 раз. Вам легче от этого?

P.S. Ах да. Песенка из эпиграфа

Насладитесь.

Перья долой, подать фужеры, фрукты и музыку сюда.
Будем бездельничать, моншеры! Станем лениться, господа!

ЪУЪ!

 
 

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

kyty3ob: (Default)
kyty3ob

January 2020

S M T W T F S
    1 234
567891011
12131415161718
19202122232425
2627 282930 31 

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 15th, 2026 05:08 pm
Powered by Dreamwidth Studios