Расчет больших экспоненциальных долей / вероятностей - PullRequest
0 голосов
/ 23 января 2020

Пусть будет пространство событий ES. Пусть будет несколько наборов объектов OS []. Вероятности выбора любого объекта взаимно не пересекаются.

Теперь предположим, что размер каждого набора основан на числе X [i], присвоенном ему. Размер каждого набора увеличивается экспоненциально с этим числом.

Базой (B), используемой для возведения в степень, может быть число Эйлера (e) из-за его хороших свойств, но давайте предположим, что это может быть не так.

Теперь мы после вычисления вероятности случайного выбора любого члена выбранного набора с учетом того, что арность каждого набора может быть очень большой.

После того, как последовательность вероятностей известна, она используется для вычисления P [i] * (C).

Интересно, можно ли это оптимизировать / аппроксимировать для очень больших показателей, т. е. рассчитать с низким потреблением памяти, т. е. реализовать.

Я нашел связанный вопрос здесь все же они, похоже, решают только противоположные вероятности.

//  Numerical example:

// A,C - constants, natural numbers
//exponents
        X[1] = 3432342332;
        X[2] = 55438849;
        X[3] = 34533;
//probabilities
        P1 = A^X[1]/(A^X[1]+A^X[2]+A^X[3]);
        P2 = A^X[2]/(A^X[1]+A^X[2]+A^X[3]);
        P3 = A^X[3]/(A^X[1]+A^X[2]+A^X[3]);

//Results
R1 = P1 *C;
R2 = P2 *C;
R3 = P3 *C;

Excel потерпит неудачу, если показатели больше нескольких сотен.

1 Ответ

0 голосов
/ 23 января 2020

Итак, у вас есть число a>1, целочисленный массив B из n элементов, и для каждого i вы должны вычислить a^B[i] / (a^B[1] + a^B[2] + ... + a^B[n]).

Let C[i] = B[i] - max(B[1], ..., B[n]). Затем вы рассчитываете a^C[i] / (a^C[1] + a^C[2] + ... + a^C[n]). Поскольку все элементы C теперь не являются положительными, вы не заботитесь о переполнении.

...