V tomto článku sa pozrieme na to, ako vyrátať pravdepodobnosť nejakej fiktívnej udalosti, v tomto prípade pádu stromu. Rovnaký postup môžme aplikovať aj na výpočet pravdepodobnosti dopravnej nehody a podobne.
Problém:
Predpokladajme, že pravdepodobnosť pádu stromu je v priebehu obdobia jedného roka 1:25. Pre zjednodušenie uvažujme, že pravdepodobnosť pádu jedného stromu nezvyšuje pravdepodobnosť pádu iného stromu. V okolí máme 15 stromov s rovnakou pravdepodobnosťou pádu. Aká je pravdepodobnosť, že v období 10 rokov spadne aspoň 1 strom?
Riešenie:
Pravdepodobnosť, že aspoň 1 strom spadne v priebehu jedného roka je:
P(aspoň 1 strom spadne v roku) = 1 − ( 1 − 1/25 ) ^ 15
Potom pravdepodobnosť, že aspoň 1 strom spadne v priebehu 10 rokov je:
P(aspoň 1 strom spadne v 10 rokoch) = 1 − ( 1 − P(aspoň 1 strom spadne v roku) ) ^ 10
Teraz môžeme doplniť hodnoty a vypočítať:
P(aspoň 1 strom spadne v roku) = 1 − ( 1 − 1/25 ) ^ 15 ≈ 0,4579
P(aspoň 1 strom spadne v 10 rokoch) = 1 − ( 1 − 0,4579) ^ 10 ≈ 0,9978
Takže pravdepodobnosť, že aspoň 1 strom spadne v priebehu 10 rokov, je približne 0,9978 , čo je takmer 100%.
Skúška správnosti:
Môžeme si nasimulovať napr. 100000 simulácií so stanovenými pravdepodobnosťami v jazyku PHP:
<?php
// Počet simulácií
$simulations = 100000;
// Počet rokov
$years = 10;
// Počet stromov
$trees = 15;
// Počet simulácií, kde spadne aspoň 1 strom
$atLeastOneFallen = 0;
// Simulácia
for ($i = 0; $i < $simulations; $i++) {
$fallenTrees = 0;
for ($j = 0; $j < $years; $j++) {
// Generovanie náhodného čísla s rozsahom 1 až 25 pre každý strom
for ($k = 0; $k < $trees; $k++) {
$random = mt_rand(1, 25);
// Ak je náhodné číslo rovné 1, strom spadne
if ($random === 1) {
$fallenTrees++;
break; // Ak už jeden strom spadol, môžeme skončiť simuláciu pre túto ročnú periódou
}
}
}
// Ak spadol aspoň jeden strom v priebehu 10 rokov, zvýšime počítadlo
if ($fallenTrees > 0) {
$atLeastOneFallen++;
}
}
// Vypočítanie pravdepodobnosti
$probability = $atLeastOneFallen / $simulations;
// Výpis výsledku
echo "Pravdepodobnosť, že v období $years rokov spadne aspoň 1 strom: " . number_format($probability * 100, 2) . "%";
?>