document probability addition rule

This commit is contained in:
Krishna Vedala 2020-05-28 16:34:29 -04:00
parent 76278a76c8
commit 2f3cb1adaa
No known key found for this signature in database
GPG Key ID: BA19ACF8FC8792F7

View File

@ -1,28 +1,42 @@
/**
* @file
* @brief Addition rule of probabilities
*/
#include <iostream>
// calculates the probability of the events A or B for independent events
/**
* calculates the probability of the independent events A or B for independent
* events
* \parama [in] A probability of event A
* \parama [in] B probability of event B
* \returns probability of A and B
*/
double addition_rule_independent(double A, double B) {
return (A + B) - (A * B);
}
// calculates the probability of the events A or B for dependent events
// note that if value of B_given_A is unknown, use chainrule to find it
/** Calculates the probability of the events A or B for dependent events
* note that if value of B_given_A is unknown, use chainrule to find it
* \parama [in] A probability of event A
* \parama [in] B probability of event B
* \parama [in] B_given_A probability of event B condition A
* \returns probability of A and B
*/
double addition_rule_dependent(double A, double B, double B_given_A) {
return (A + B) - (A * B_given_A);
}
/** Main function */
int main() {
double A = 0.5;
double B = 0.25;
double B_given_A = 0.05;
std::cout << "independent P(A or B) = "
<< addition_rule_independent(A, B) << std::endl;
std::cout << "independent P(A or B) = " << addition_rule_independent(A, B)
<< std::endl;
std::cout << "dependent P(A or B) = "
<< addition_rule_dependent(A, B, B_given_A) << std::endl;
<< addition_rule_dependent(A, B, B_given_A) << std::endl;
return 0;
}