Bad Math Jokes

  • Thread starter Thread starter benorin
  • Start date Start date
  • Tags Tags
    Jokes
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
447 replies · 50K views
pun-number.jpg
 
Reply
  • Like
Likes   Reactions: collinsmark, edwardII, BillTre and 1 other person
Physics news on Phys.org
Inspired by the above and the old chemist / plumber / unionised joke:

How do you tell the difference between a mathematician and an anesthesiologist? Ask them to pronounce "number".
 
Reply
  • Like
Likes   Reactions: Bystander, BillTre and jack action
– The Mandelbrot set is named after Benoit B. Mandelbrot
– What does the B. stand for?
– B. stands for Benoit B. Mandelbrot
 
Reply
  • Like
  • Love
Likes   Reactions: Klystron, collinsmark, BillTre and 3 others
pines-demon said:
– The Mandelbrot set is named after Benoit B. Mandelbrot
– What does the B. stand for?
– B. stands for Benoit B. Mandelbrot
In a similar vein, Kernighan and Ritchie's classic text "The C Programming Language" has an index entry for "recursion", which includes its own page number.
 
Reply
  • Like
Likes   Reactions: Klystron, collinsmark, phinds and 2 others
collinsmark said:

I was curious to how meticulous Randall Monroe in his probability calculations. Did he just throw some dice figures in there hoping nobody would check, or was he actually pretty close?

Here's a repost of comic, in case it's not showing up in the quote above.
dnd_combinatorics.png


Well, I wrote a computer program to calculate the probabilities of summing up different types of dice rolling, to find out how close he was.

First let's analyze the drawing of arrows. This is easy. 5 out the the 10 arrows are cursed, so there's a 50% chance that the first arrow picked is not cursed. Now there are only 4 uncursed arrows out of 9. So the chance of the second draw, also being uncursed (given the first arrow was uncursed) is 4/9. So the probability of both arrows are uncursed is

P[uncursed] = [itex]\left( \frac{1}{2}\right) \left( \frac{4}{9} \right) = \frac{2}{9}[/itex] = 0.22222222...

So the probability of at least one of the arrows cursed is the probability inverse of that,
[itex]\left( 1 - \frac{2}{9} \right) = \frac{7}{9}[/itex]= 0.7777777...

We'll come back to that. Now let's analyze the dice.

In order to calculate the sum of multiple dice, we perform a linear convolution of the probability density function (PDF) of each of the dice, for all the dice thrown.

According to the comic, he must roll three 6-sided dice, plus one 4-sided die and add the results together.

To calculate the probabilities of all of that, we convolve the PDF of a six-sided dice with itself and then again (3 PDFs convolved total so far), and then convolve that with a four-sided die.

Using the computer program, the PDF of the whole operation was:

[CODE title="Probability density"]4 0.0011574074074074073
5 0.004629629629629629
6 0.011574074074074073
7 0.023148148148148147
8 0.03935185185185185
9 0.06018518518518519
10 0.08217592592592593
11 0.10185185185185186
12 0.11574074074074076
13 0.12037037037037036
14 0.11574074074074074
15 0.10185185185185186
16 0.08217592592592593
17 0.06018518518518519
18 0.03935185185185185
19 0.023148148148148147
20 0.011574074074074073
21 0.004629629629629629
22 0.0011574074074074073[/CODE]

And the cumulative probability distribution:

[CODE title="Cumulative probability distribution"]4 0.0011574074074074073
5 0.005787037037037037
6 0.017361111111111112
7 0.04050925925925926
8 0.0798611111111111
9 0.14004629629629628
10 0.2222222222222222
11 0.32407407407407407
12 0.4398148148148148
13 0.5601851851851852
14 0.6759259259259259
15 0.7777777777777778
16 0.8599537037037037
17 0.920138888888889
18 0.9594907407407408
19 0.982638888888889
20 0.994212962962963
21 0.9988425925925927
22 1[/CODE]

According to the program, rolling a 15 or below is exactly the same probability of drawing at least one of the cursed arrows. So one would need to roll a 16 or greater to avoid the cursed arrows.

So Randall Monroe was not just close, he was exactly on the mark. Kudos to his attention to detail. :smile:

Here's the C# class that does most of the work:

[CODE title="DiceConvolution.IntegerDistribution"]using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace DiceConvolution
{
internal class IntegerDistribution
{
// public properties
public int startingIndex { get; private set; } // typically the first nonzero index. The first index of importance. For a standard die, this is 1.
public double[] probabilityDensityArray { get; private set; } // The zero based array of probabilities (shifted to start at array index 0).

// constructor
public IntegerDistribution(int startingIndex, double[] probabilityDensityArray)
{
this.startingIndex = startingIndex;
this.probabilityDensityArray = probabilityDensityArray;
}

// methods
public IntegerDistribution convolve (IntegerDistribution a)
{
// create a reversed version of the input a
double[] aReversed = new double[a.probabilityDensityArray.Length];
Array.Copy(a.probabilityDensityArray, aReversed, a.probabilityDensityArray.Length);
Array.Reverse(aReversed);

double[] output = new double[aReversed.Length + probabilityDensityArray.Length - 1];

// Convolution
for (int i = 0; i < output.Length; i++)
{
output = 0;

for(int j = 0; j < aReversed.Length; j++)
{
// Only integrate legal portions of the arrays
if(i - j >= 0 && i - j < probabilityDensityArray.Length)
{
output += probabilityDensityArray[i - j] * aReversed[j];
}
}
}
return new IntegerDistribution(startingIndex + a.startingIndex, output);
}

public IntegerDistribution clone()
{
double[] array = new double[probabilityDensityArray.Length];
Array.Copy(probabilityDensityArray, array, probabilityDensityArray.Length);
return new IntegerDistribution(startingIndex, array);
}

public static IntegerDistribution operator+ (IntegerDistribution a, IntegerDistribution b)
{
return a.convolve(b);
}

public double[] cumulative()
{
double total = 0;
double[] output = new double[probabilityDensityArray.Length];
for (int i = 0;i < output.Length;i++)
{
total += probabilityDensityArray;
output = total;
}
return output;
}

public static IntegerDistribution operator* (int a, IntegerDistribution b)
{
IntegerDistribution output = b.clone();

for (int i = 2; i <= a; i++) output += b;
return output;
}
}
}
[/CODE]

And the main program to run it:

[CODE title="Main program"]// Main program
using DiceConvolution;

Console.WriteLine("Hello, World!");

IntegerDistribution D6 = new IntegerDistribution(1, new double[] { 1 / 6.0, 1 / 6.0, 1 / 6.0, 1 / 6.0, 1 / 6.0, 1 / 6.0 });
IntegerDistribution D4 = new IntegerDistribution(1, new double[] { 1 / 4.0, 1 / 4.0, 1 / 4.0, 1 / 4.0 });

IntegerDistribution c = (3 * D6) + D4;

for (int i = 0; i < c.probabilityDensityArray.Length; i++)
{
Console.WriteLine(c.startingIndex + i + " " + c.probabilityDensityArray);
}

Console.WriteLine(Environment.NewLine + Environment.NewLine);

double[] cumulative = c.cumulative();

for (int i = 0; i < c.probabilityDensityArray.Length; i++)
{
Console.WriteLine(c.startingIndex + i + " " + cumulative);
}[/CODE]

 
Reply
  • Like
  • Informative
Likes   Reactions: diogenesNY, mfb, DaveC426913 and 4 others
collinsmark said:
I was curious to how meticulous Randall Monroe in his probability calculations. Did he just throw some dice figures in there hoping nobody would check, or was he actually pretty close?
...According to the program, rolling a 15 or below is exactly the same probability of drawing at least one of the cursed arrows. So one would need to roll a 16 or greater to avoid the cursed arrows.

So Randall Monroe was not just close, he was exactly on the mark. Kudos to his attention to detail. :smile:
I would have been astonished if he wasn't accurate. It's what he does.

That aside, kudos to you for verifying by code. That's the kind of next-level compulsion I pay my internet bill for.
 
Reply
  • Like
Likes   Reactions: diogenesNY, BillTre and collinsmark
Me four... Also, the only 'meaning' I've found is that the square root of 37.21 is exactly 6.1. I've converted that to binary but that didn't tell me anything... 😂
 
Reply
  • Like
Likes   Reactions: jack action
Arjan82 said:
Me four... Also, the only 'meaning' I've found is that the square root of 37.21 is exactly 6.1. I've converted that to binary but that didn't tell me anything... 😂
Leave it to someone on this forum to see that.
 
jack action said:
It works because a nautical mile is based on a degree of latitude, and the Earth (e) is a circle.
The nautical mile is actually based on one arc minute of longitude.

The speed of light is sea. Mean sea level is the same, wherever you measure it. You can check because the sea level rises to the plimsoll or load line on a boat, no matter where on Earth you measure it.

One statute mile is 1.609344 km.
One nautical mile is 1.852000 km.
One knot is one nautical mile per hour.
e nautical miles = 5034.258 m.
Pi statute miles = 5055.903 m. They differ by 0.43%
The close coincidence rests on the definition of the statute mile, as used in the UK and the US, being 5280 English feet.

The Royal Observatory, Greenwich, defined one nautical mile, to subtend an arc of one minute, along the equator. So there are 360*60=21,600 nautical miles around the equator = 40,003.2 km.

Napoleon defined the metre to be one ten millionth of the distance from the North Pole to the equator, through Paris. That makes the Earth's polar girth 40,000.0 km, which is shorter than the equatorial girth of 40,003.2 km.

The English and the French have a love-hate relationship, so can never agree to disagree.
 
Reply
  • Like
  • Informative
Likes   Reactions: Klystron, jack action and Arjan82
Baluncore said:
The nautical mile is actually based on one arc minute of longitude.
Latitude though... If it is based on longitude, the mile is longest at the equator and zero at the poles...

1733995939607.png
 
Arjan82 said:
Latitude though... If it is based on longitude, the mile is longest at the equator and zero at the poles...
Latitude was used originally to define the metre, not the nautical mile.
Baluncore said:
The Royal Observatory, Greenwich, defined one nautical mile, to subtend an arc of one minute, along the equator.
The nautical mile was defined by longitude at the equator, NOT latitude anywhere.
 
Reply
  • Informative
Likes   Reactions: Ivan Seeking and Arjan82
Baluncore said:
The nautical mile was defined by longitude at the equator, NOT latitude anywhere.

Hmmm, ok, I didn't know that...

I've always been taught that if you want to measure a nautical mile on a chart (you know, an actual physical one...) with your divider (an actual physical thing you know...) you need to measure one minute along the latitude, not longitude, because that would only work on the equator. But that doesn't mean that it is defined that way of course... That's where my confusion comes from.
 
Reply
  • Like
Likes   Reactions: Baluncore