Программирование → Цепи Маркова
Вчера занимался одной задачей. На днях посмотрел видео про цепи Маркова и в голове засел вопрос, какое будет распределение гласных и согласных букв, если известны вероятности переходов от гласных к согласным и все прочие комбинации. Я ведь продолжаю подписывать инфо о себе на некоторых сайтах, что "физик, математик, программист", только вот из математики в жизни осталась лишь арифметика, в примерных подсчётах расходов и доходов, не более 😁
Для начала отгонял мысли о решении, потому что хотел сначала получить оценку распределения моделированием, методом Монте-Карло, и только потом искать аналитическое решение, которое бы моделированием проверил. Но задача оказалась слишком детской, в одну строчку на бумаге, так что программа и точное значение появились практически одновременно. Гласные и согласные буквы для красоты были заменены цветными шариками ⚫️🟢 Любопытство было удовлетворено. И канал с научпопом тоже хорош, VERT DIDER, несколько дней смотрю материалы оттуда.
И сама задача и решение:
Сразу заменим гласные и согласные на зелёные и чёрные кружки, чтобы было как на скриншоте. Пусть вероятность P(GG) того, что за зелёным шаром идёт зелёный, равна α, соответственно, P(GB) = (1 - α). Вероятность зелёного за чёрным - P(BG) = β. И P(BB) = (1 - β). Моделирующая программа тут
Искомая вероятность P, с которой зелёные шары появляются в последовательности, должна быть такой уравновесившейся величиной, которая не изменяется от шага к шагу:
1 | P*α + (1 - P)*β = P |
Или изобразим это графически:

Решаем уравнение и готово:
1 | P = β/(β + 1 - α) |

Комментарии