Я пытаюсь вычислить вероятность исхода с иерархической структурой дерева Вычислить Условная вероятность Python
Верх компьютер Компьютер А, следующий 2 являются Компьютер B & C и последний 4 являются компьютерными BD, BE и CD, CE. Я пытаюсь найти вероятность , что если компьютер A заражен вирусом, то есть вероятность того, что B или C заразится вирусом. А если B или C получает заражена, что вероятность того, что BD, BE, CD, CE заражается с вирусом
Я хочу пробежать 100 испытаний, чтобы найти ответ. Я новичок в выполнении вероятности на python. Однако здесь есть код, который я до сих пор:
import random, time
#prob that computers will get virus
CompA = 0.50
CompB = .25
CompC = .25
CompBD = .125
CompBE= .125
CompCD= .125
CompCE= .125
def generate():
x = random.random()
if x =< CompA: #Computer A has virus
prob_compa= sum(generate() for i in range(100)) #prob that Comp A has virus in a 100 rounds
print (prob_compa/100 + 'percent chance of getting virus')
try:
if CompB<.125:
prob_compa sum(generate() for i in range(100)) #prob that Comp B has virus in a 100 rounds
print (prob_compa/100 + 'percent chance of getting virus')
elif CompB<.125:
prob_compa= sum(generate() for i in range(100)) #prob that Comp C is sick in a 100 rounds
print (prob_compa/100 + 'percent chance of getting virus')
#I continue this method for the rest of the tree
Есть ли лучший способ и простой способ для меня, чтобы получить результаты? random.uniform ???
Я думаю, что вы не должны выполнить моделирование. Не можете ли вы получить это, используя * Марковское одеяло *? Это ведь хороший граф вероятности *. –
Хм никогда не слышал об этом .. будет ли эта функция более простой способ рассчитать мой желаемый результат? – royalblue
«Если A заражен, то какая вероятность заражения B» - на самом деле это простая простая [условная вероятность] (https://en.wikipedia.org/wiki/Conditional_probability), нет необходимости в более продвинутых инструментах –