If you had said that a mathematician or a statistician said they have one girl, that would be a different story.
If you had said that a mathematician or a statistician said they have one girl, that would be a different story.
The only real objection to the problem as it's posed is that it's pretty unlikely that anyone would say that one of their children was a girl when both of their children are girls. For a normal conversation, the ambiguity wouldn't be present; "two children" combined with "one is a girl" means the chances of one boy and one girl are 100%.
It's a bit like the old joke about "which month of the year has 28 days?" - answer being, they all have 28 days, just some have more.
However, in other less contrived situations, this is important. People risk discounting permutations, and only considering combinations, when the permutations are necessary to get a correct view of the odds.
1) X: G, Y: G
2) X: G, Y: B
3) X: B, Y: G
4) X: B, Y: B
If you are told, "at least one is a girl," as in the posted question, you can only rule out case (4). If you are told more specifically that X is a girl, you can rule out (3) and (4), giving the 50-50 chance.Which still seems a little weird to me, that knowing which is a girl, regardless of which one you know about, changes the chances.
BG and GB as possibilities that often collapse in the minds of those thinking about this problem but that is exactly why the problem is paradoxical, why a certain group of people not only get it wrong but also can't let go of their wrong answer.
Here, I'll prove it for you:
;; Have a child, with an equal probability of the child being a boy or a
;; girl.
(defun make-child ()
(if (eql (random 2) 0)
'boy
'girl))
;; Make a family of n members, with each child having an equal probability
;; of being either a boy or a girl.
(defun make-family (n)
(do ((family nil)
(i 0 (+ i 1)))
((>= i n) family)
(push (make-child) family)))
;; As in the story, meet someone at a party who informs us that (1) she or
;; he has two children, and (2) that at least one of these children is a
;; girl. E.g.,
;;
;; Me: "Hi there, what's your name?"
;; Cute lady: "Jennifer"
;; Me: "Nice to meet you, Jennifer, I'm Mark. What brings you here?"
;; Jennifer: "Well my husband is out of town on a business trip, so I
;; wanted to come here and catch up with some old friends of
;; mine. Fortunately I was able to get a baby sitter for my
;; two kids on such short notice. One of the kids, Meg, has
;; to be up early in the morning for dance practice and..."
;; Me: "Husband? Damn, all the good ones are taken."
;; Jennifer: "What?"
;; Me: "Nothing. Hey, hang on while I work out the probability that your
;; other child is a boy, based on the information that you've already
;; given me."
;; Jennifer: "You're weird. Have a good evening."
;;
;; This function works by calling (make-family 2) repeatedly until we get a
;; family that meets both of these criteria, then returns a representation
;; of said family. This is a precise analogy for the story: just as the
;; fictional person at this party, here we take the space of all possible
;; conceptual representations of a family of two, then discard any of these
;; that *does not* include at least one female child. THIS IS THE ONLY
;; REASONABLE WAY TO HANDLE THE INFORMATION THAT JENNIFER RELATES IN THE
;; ABOVE EXCHANGE.
(defun meet-at-party ()
(do ((family (make-family 2) (make-family 2)))
((find 'girl family) family)))
;; Perform the (meet-at-party) scenario num-total times, and then return
;; the fraction of those times in which the family contained a boy.
(defun run-test (num-total)
(let ((num-with-boys 0))
(dotimes (i num-total (float (/ num-with-boys num-total)))
(if (find 'boy (meet-at-party)) (incf num-with-boys)))))
Just call (run-test 1000000) or something. The result is approximately 2/3."Both of my kids are driving me crazy! Just yesterday I had to pick one of them up from the police station--I grounded her for a month!" - given just the information in your quote, the odds are 50% of a boy and a girl.