Дед Мороз и латентное размещение Дирихле
На детский утренник пришел Дед Мороз с тремя мешками конфет от разных организаций. В каждом мешке разные конфеты и они перемешаны. Одних конфет много в одном мешке и нет в другом. Других конфет примерно поровну во всех мешках.
И решил дед Мороз раздать по быстрому конфеты и продолжить праздновать. Раскрыл он мешки и давай детишкам отсыпать конфеты горстями. А поскольку он праздновал уже с самого утра, то совсем не следил кому и сколько конфет он выдает. Потому кому-то досталось по горсти из каждого мешка, кому-то десяток горстей из одного - вообщем полный беспорядок.
Под конец раздачи пришла Мария Ивановна - заведующая детским садиком, чтобы для отчетности пересчитать конфеты в мешках. Но застала только счастливых детей, три пустых мешка и уснувшего деда мороза.
Заведующая была опытным статистиком. Взглянув на деда Мороза она сразу поняла, что он проделал с конфетами латентное размещение Дирихле. А потому есть хороший шанс восстановить сколько и каких конфет лежало в каждом мешке и по скольку горстей конфет из мешков было выдано каждому ребенку.
Вот например, у Машеньки десяток сникерсов, но нет чупа-чепсов, а у Сережи десяток чупа-чупсов и ни одного сникерса. Значит сникерсы и чупа-чупсы лежали в разных мешках. У Танечки примерно пять сникерсов и пять чупа-чупсов, значит дед мороз выдал Маше и Сереже по паре горстей из одного мешка а Тане по горсти из каждого. Вот таким образом что-то понять можно.
Мария Ивановна запустила компьютер, переписала в файл кто и сколько получил конфет и написала скрипт, который ищет максимум вероятности получить такой расклад конфет в пространстве множества параметров - количества конфет в мешках и количество горстей из этих мешков выданных каждому ребенку. Она запустила скрипт и увидела, что процесс поиска сходится. Happy End