Сначала строите множество всех пар и их вероятностей. То есть (a,b) (b,c) (a,c) (a,d) и т.д. Если среди них будут решения - в вашу копилочку. Эти решения можно исключить, или делайте с ними, что хотите. Если, к примеру, P(b,c) > 0.5, то при добавлении любого фактора тоже будет > 0.5. В общем, исключаем.
Из оставшихся двоек делаете тройки. Нужно лишь прибавить вероятность третьего фактора.
Из троек - четверки и т.д.
Каждый раз не нужно пересчитывать сумму вероятностей всей цепочки. Достаточно прибавить вероятность нового фактора к предыдущей цепочке.
Чтобы не было повторений, достаточно "смотреть вперёд". То есть для (b,c) третьим фактором нельзя брать (a), потому что он сзади. Тройка (a,b,c) должна быть учтена при рассмотрении (a,b) - у нее впереди как раз (c). Соответственно, для (a,c) нельзя брать (b), - только (d) и выше.
До конца не ясно, как связаны P(a) и P(b).
Если никак, то вероятности как бы складываются. То есть событие P наступает, когда хотя бы одно из событий a или b послужило причиной.
P = P(a) + P(b) - P(a)*P(b)
Очевидно, что в таком случае максимальная вероятность наступления события P будет при срабатывании всех факторов.
То есть P(a,b,c, ........, z) = max. Где a-z - это все имеющиеся факторы.
Алгоритм примерно такой будет
P = 0
for k in [a-z] {
P = P + (1-P)*P(k) //k - очередной фактор. P(k) - вероятность
}
Дмитрий, это интересное расширение. Правда, я пробовал его неделю назад - но так и не понял, как им пользоваться. Кнопки block нет рядом со ссылками, как заявлено. Если занести сайт в список вручную, он всё равно появляется в выдаче.
Это был пример. Вычисления зависят от того, как события связаны. Перемножать нужно, если третье событие наступает, при условии, если одновременно происходят события a и b. А если они не связаны совсем, то и перемножать не корректно.
automatik, я привел два аргумента: 1) им нет смысла хранить, им за это никто не платит 2) они не могут восстановить данные по запросу через 6 месяцев после удаления
А на чём основано утверждение, что они никогда не удаляют, я так и не понял.
Вот если вы владеете, скажем, небольшим форумом, то станете ли вы хранить старые дампы базы при наличии свежих? Например, вы только что сделали дамп, скопировали на флешку и залили в облако. Зачем вам в этом случае хранить дамп прошлого года?
Возможно, сайт проверяет пользователя посредством JS (защита от роботов), а результат проверки записывает в PHP-сессию. И пока сессия жива, повторная проверка не требуется. Но через 12 часов сессия устаревает и её нужно обновить.
Нужно понять, как вычислять вероятность зависимого события. Это зависит от того, как события связаны. Например, если выпадет решка, то я кидаю игральную кость, чтобы выпало 6. Очевидно, что здесь нужно перемножить вероятности 0.5 * 1/6 и получится шанс итогового события.
Может, лучше свести вашу проблему к паре абзацев, чем грузить таким количеством информации? Если вы это сделаете, то есть разобьете задачу на подзадачи, то вам же будет проще найти решение каждой из маленьких задач.
Дмитрий, да, но как блокировка qaru.site поспособствует появлению stackoverflow.com? Например, если запрос на русском, то stackoverflow будет очень далеко, если вообще будет.
Из оставшихся двоек делаете тройки. Нужно лишь прибавить вероятность третьего фактора.
Из троек - четверки и т.д.
Каждый раз не нужно пересчитывать сумму вероятностей всей цепочки. Достаточно прибавить вероятность нового фактора к предыдущей цепочке.
Чтобы не было повторений, достаточно "смотреть вперёд". То есть для (b,c) третьим фактором нельзя брать (a), потому что он сзади. Тройка (a,b,c) должна быть учтена при рассмотрении (a,b) - у нее впереди как раз (c). Соответственно, для (a,c) нельзя брать (b), - только (d) и выше.