#1 Problem 1

outcomes <- expand.grid(1:6, 1:6, 1:6)

three_sums <- rowSums(outcomes)

target <- sum(three_sums == 12)

probability <- target / length(three_sums)
probability
## [1] 0.1157407

#2 Problem 2

customer_matrix <- matrix(c(200, 200, 100, 200, 200, 300, 100, 200, 100, 100),
                      nrow = 5,
                      byrow = TRUE,
                      dimnames = list(c("Apartment", "Dorm", "With Parent(s)", "Sorority/Fraternity House", "Other"),
                                      c("Males", "Females"))
                            )
males <- colSums(customer_matrix)["Males"]
females <- colSums(customer_matrix)["Females"]
customers <- sum(customer_matrix)

probability_1 <- (customer_matrix["Other", "Males"] / males) * (males / customers)
probability_2 <- (customer_matrix["Other", "Females"] / females) * (females / customers)

probability <- unname(probability_1 + probability_2)

probability
## [1] 0.1176471

#3 Problem 3

cards <- 52
diamond_cards <- 13

# Frist diamond card
diamond_cards <- diamond_cards - 1
cards <- cards - 1

# Second diamond card
probability <- diamond_cards/ cards

# P
probability
## [1] 0.2352941

#4 Problem 4

library(gtools)
## Warning: package 'gtools' was built under R version 4.1.3
perm_without_replacement <- function(n, r){
  return(factorial(n)/factorial(n - r))
}


possible_lineups <- perm_without_replacement(20, 10)
possible_lineups
## [1] 670442572800

#5 Problem 5

tv <- 20
sound <- 20
dvd <- 18

outcomes <- tv * sound * dvd
outcomes
## [1] 7200

#6 Problem 6

perm_without_replacement <- function(n, r){
  return(factorial(n)/factorial(n - r))
}

ways <- perm_without_replacement(10, 10)
ways
## [1] 3628800

#7 Problem 7

perm_without_replacement <- function(n, r){
  return(factorial(n)/factorial(n - r))
}

# mutiply outcomes of coins, dies and cards for totoal outcomes
outcomes <- 2^7 * 6^3 * perm_without_replacement(52, 4)
outcomes
## [1] 179640115200

#8 Problem 8

perm_without_replacement <- function(n, r){
  return(factorial(n)/factorial(n - r))
}


outcomes <- perm_without_replacement(4, 4) * perm_without_replacement(4, 4) * perm_without_replacement(3, 3)
outcomes
## [1] 3456

#9 Problem 9

# P( + | User) Given
p_positive_user <- 0.95

# P(- | Not User) Given
p_negative_not_user <- 0.99

# P( + | Not User) = 1 - P(- | Not User)
p_positive_not_user <- 1 - p_negative_not_user

# P(User)   Given
p_user <- 0.03

# P(Not User) = 1 - P(User)
p_not_user <- 1 - p_user

# P(positive) = P( + | User)P(User) + P( + | Not User)P(Not User)
p_positive <- (p_positive_user * p_user) + (p_positive_not_user * p_not_user)

# P(User ∣ +) = P( + ∣ User)P(User) / P( +)
p_user_positive <- (p_positive_user * p_user) / p_positive
p_user_positive
## [1] 0.7460733

#10 Problem 10

# Given
P_golden_golden <- 1/3
P_brown_brown <- 1/3
P_golden_brown <- 1/3

# Target: find P(Brown on the other side | Given Brown on one side)

# P(see brown | brown pancake)
PB_given_BB <- 1

# P(see brown | golden brown pancake)
PB_given_GB <- 0.5

# P(brown) = P(brown | brown pancake)P(brown brown pancake) + P(see brown | golden brown pancake)P(golden brown pancake)
PB <- PB_given_BB * P_brown_brown + PB_given_GB * P_golden_brown

# P(brown on the other side | Given Brown on one side) = P(brown | brown brown pancake)P(brown brown pancake) / P(brown)
P <- PB_given_BB * P_brown_brown / PB
P
## [1] 0.6666667