Rabusov Info (Mobile Devision), 2019

Марковские цепи

и их применение для генерации вариантов для версии: dropdownafter

Почему мы обратились к теме цепей Маркова? Основной толчёк в данном направлении возник после получения информации, что для обучения голосового помошника Алиса, разработчики Яндекса используют цепи Маркова. А почему-бы и нам не воспользоваться этим инструментом?!

Обратимся к Википедии. Она сообщает нам, что Цепь Маркова это последовательность случайных событий с конечным или счётным числом исходов, характеризующаяся тем свойством, что, говоря нестрого, при фиксированном настоящем будущее независимо от прошлого.
* Смотри Википедию — свободную энциклопедию

Тиражная лотерея, такая как 4 из 20, вполне подходит под это определение

    в предположении, что
  1. выпадение номеров - случайный процесс;
  2. тираж - дискретное состояние;
  3. периодичность проведения тиражей - дискретное время;
  4. число исходов - конечное и счётное (таблица всех вариантов);
  5. последний тираж - это наше (фиксированное) настоящее;
  6. следующий тираж не зависит от результатов прошлых тиражей;
Здесь мы делаем смелое предположение, что следующий тираж каким-то образом зависит от текущего состояния (тиража). То есть, если просмотреть цепочку состояний, фиксируя определённый тираж и анализируя выпадение следующей комбинации номеров, можно попробовать смоделировать поведение генератора случайных чисел, обслуживающего лотерею.

Примером такого функционала можно считать генератор текстов. Для которого слова являются прототипом наших номеров. Набор слов любого генератора ограничен словарём. Используя словарь генератор строит фразы - в нашем случае фраза, это тираж (вариант из 4 цифр), а словарь ограничен номерами от 1 до 20. Что бы генератор текстов был в состоянии сгенерировать текст, более-менее похожий на тот, что создаёт человек, ему "скармливают" тексты, когда-то написанные людьми. Это произведения самых известных писателей и журналистов. Генератор, разбирая тексты, анализирует слова по частоте и применимости (какие слова сочетаются друг с другом), с каких слов начинаются предложения и так далее и тому подобное.

Образно выражаясь, в терминах генератора текста, наш генератор , должен выдавать две фразы по четыре слова в каждой. Словарный запас 20 слов. В каждой фразе слово может использовано только один раз.

Тираж 4 из 20 представляет собой два набора чисел, по четыре числа в каждом. Пусть первый набор представляет собой таблицу (слева) с колонками a1,a2,a3,a4. Второй набор таблицу (справа) с колонками b1,b2,b3,b4.

Выпадающие после...

Марковские цепи, генератор текстов - слишком "пугающие" названия для многих людей. Применительно к нашему случаю, с тиражами лотерей, будем использовать термин - "Выпадающие после". Так как основная идея методов, упомянутых выше, проанализировать статистику появления номера (слова) после появления слова (номера) на предидущем шаге. Те есть мы отвечаем на вопрос: "Какие номера выпадают в колонке а(N), после выпадения номера X в колонке а(N-1)?"

Вариантов начала тиражной комбинации ("фразы") у нас всего 20 (от 1 до 20). Комбинация начинается с появления номера в колонке a1.

    Наши действия:
  1. Собираем номера, выпадавшие в колонке а1, в заданном диапазоне тиражей и группируем (сортируем) их по частоте выпадения. Получаем список (A1), максимум из 20 номеров.
  2. Выбираем из этого списка (A1) какой-то номер (x1) и собираем номера, выпадавшие после него в колонке а2, в заданном диапазоне тиражей и группируем (сортируем) их по частоте выпадения. Получаем список (A2), максимум из 20 номеров.
  3. Выбираем из списка (A2) какой-то номер (x2) и собираем номера, выпадавшие после него в колонке а3, в заданном диапазоне тиражей и группируем (сортируем) их по частоте выпадения. Получаем список (A3), максимум из 20 номеров.
  4. Выбираем из списка (A3) какой-то номер (x3) и собираем номера, выпадавшие после него в колонке а4, в заданном диапазоне тиражей и группируем (сортируем) их по частоте выпадения. Получаем список (A4), максимум из 20 номеров.
  5. Выбираем из списка (A4) какой-то номер (x4). Тиражная комбинация собрана - x1, x2, x3, x4.

Аналогичные манипуляции проводим со второй частью (b) лотерейной комбинации. В результате получаем полную комбинацию - a1,a2,a3,a4 + b1,b2,b3,b4.

Стоит отметить, что возможна связь между номером в колонке a4 и выпадающими после в колонке b1. Этот факт будет учтён в виде отдельной опции в приложении, при подборе выриантов по схеме "Выпадающие после".

Связь же между номером в колонке b4 (текущего тиража) и выпадающими после (в следующем тираже) в колонке a1 будем считать маловероятной, по этому её решено не рассматривать и не учитывать в приложении.

Стартовый экран

в горизонтальной ориентации
в портретной ориентации

Сервис подбора лотерейной комбинации с помощью подсказок о том, какие номера выпадали в следующем столбце (канале, колонки слева направо А2,А3,А4,Б1,Б2,Б3,Б4) если в предидущей вы выбираете какой-то определённый номер. Первоначально колонки заполнены номерами (от 1 до 20), отсортированными по рейтингу (частоте выпадения) в соответствующей колонке (канале) в заданном (в настройках) диапазоне тиражей.

Кнопки

Перезагрузить колонки / каналы

Привести данные в колонках в первоначальный вид, в котором они заполнены номерами (от 1 до 20), отсортированными по рейтингу (частоте выпадения) в соответствующей колонке (канале) в заданном (в настройках) диапазоне тиражей.

Помощь, справка

Небольшое пояснение к сервису "Выпадающие после ...".
Выпадающие после!
Первая тиражная таблица, слева, лотереи 4х20, представлена колонками А1,А2,А3,А4. Вторая колонками Б1,Б2,Б3,Б4.
Колонки пролистываются независимо друг от друга. В них собраны номера лотереи, отсортированные по частоте выпадения, рейтингу, в заданном диапазоне тиражей.
Нажатие на заголовок колонки выполняет обратную сортировку номеров по их рейтингу.
Нажатие на номер выполняет отбор номеров и их сортировку в колонке справа при условии, что в предидущей колонке в тиражах был выбранный вами номер.

Переход от таблицы слева (А) к таблице справа (Б)

В портретном режиме на небольших экранах.
Подбор лотерейной комбинации для таблицы слева.

Переход от таблицы справа (Б) к таблице слева (А)

В портретном режиме на небольших экранах.
Подбор лотерейной комбинации для таблицы справа.

Связь А4 с Б1

Если отмечен этот чекбох, то выбор номера в колонке А4 приведёт к перестройке номеров в колонке Б1.

На главную страницу