this post was submitted on 12 Dec 2023
827 points (96.3% liked)

Memes

45725 readers
1008 users here now

Rules:

  1. Be civil and nice.
  2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.

founded 5 years ago
MODERATORS
827
6÷2(1+2) (programming.dev)
submitted 11 months ago* (last edited 11 months ago) by wischi@programming.dev to c/memes@lemmy.ml
 

https://zeta.one/viral-math/

I wrote a (very long) blog post about those viral math problems and am looking for feedback, especially from people who are not convinced that the problem is ambiguous.

It's about a 30min read so thank you in advance if you really take the time to read it, but I think it's worth it if you joined such discussions in the past, but I'm probably biased because I wrote it :)

you are viewing a single comment's thread
view the rest of the comments
[–] SmartmanApps@programming.dev 0 points 8 months ago* (last edited 8 months ago)

FACT CHECK 4/5

a solidus (/) shall not be followed by a multiplication sign or a division sign on the same line

There's absolutely nothing wrong with doing that. The order of operations rules have everything covered. Anything which follows an operator is a separate term. Anything which has a fraction bar or brackets is a single term

most typical programming languages don’t allow omitting the multiplication operator

Because they don't come with order of operations built-in - the programmer has to implement it (which is why so many e-calculators are wrong)

“.NET IDE0048 – Add parentheses for clarity”

Microsoft has 3 different software packages which get order of operations wrong in 3 different ways, so I wouldn't be using them as an example! There are multiple rules of Maths they don't obey (like always rounding up 0.5)

Let’s say we want to clean up and simplify the following statement … o×s×c×(α+β) … by removing the explicit multiplication sign and order the factors alphabetically: cos(α+β) Nobody in their right mind would remove the explicit multiplication sign in this case

This is wrong in so many ways!

  1. you did multiplication before brackets, which violates order of operations rules! You didn't give enough information to solve the brackets - i.e. you left it ambiguous - you can't just go "oh well, I'll just do multiplication then". No, if you can't solve Brackets then you can't solve ANYTHING - that is the whole point of the order of oeprations rules. You MUST do brackets FIRST.
  2. the term (α+β) doesn't have a coefficient, so you can't just randomly decide to give it one. It is a separate term from the rest Is there supposed to be more to this question? Have you made this deliberately ambiguous for example?
  3. if the question is just to simplify, then no simplification is possible. You've not given any values to substitute for the pronumerals
  4. (α+β) is presumably (you've left this ambiguous by not defining them) a couple of angles, and if so, why isn't the brackets preceded by a trig function?
  5. As it's written, it just looks like a straight-forward multiplying and adding pronumerals except you didn't give us any values for the pronumerals meaning no simplfication is possible
  6. if this was meant to be a trig question (again, you've left out any information that would indicate this, making it ambiguous) then you wouldn't use c, o, or s for your pronumerals - you've got a whole alphabet left you can use. Appropriate choice of pronumerals is something we teach in Maths. e.g. C for cats, D for dogs. You haven't defined what ANY of these pronumerals are, leaving it ambiguous

Nobody will interpret cos(α+β) as a multiplication of four factors

  1. as originally written it's 4 terms, not 1 term. i.e. it's not cos(α+β), it's actually oxsxxx(α+β), since that can't be simplified. And yes, that's 4 terms multiplied!

From those 7 points, we can see this is not a real Maths problem. You deliberately made it ambiguous (didn't say what any of the pronumerals are) so you could say "Look! Maths is ambiguous!". In other words, this is a strawman. If you really think Maths is ambiguous, then why didn't you use a real Maths example to show that? Spoiler alert: #MathsIsNeverAmbiguous hence why you don't have a real example to illustrate ambiguity

Implicit multiplications of variables with expressions in parentheses can easily be misinterpreted as functions

No they can't. See previous points. If there is a function, then you have to define what it is. e.g. f(x)=x². If no function has been defined, then f is the pronumeral f of the factorised term f(x), not a function. And also, if there was a function defined, you wouldn't use f as a pronumeral as well! You have the whole rest of the alphabet left to use. See my point about we teach appropriate choice of pronumerals

So, ambiguity really hides everywhere

No, it really doesn't. You just literally made up some examples which go against the rules of Maths then claimed "Look! Maths is ambiguous!". No, it isn't - the rules of Maths make sure it's never ambiguous

IMHO it would be smarter to only allow the calculation if the input is unambiguous.

Which is exactly what calculators do! If you type in something invalid (say you were missing a bracket), it would say "syntax error" or something similar

force the user to write explicit multiplications

Are you saying they shouldn't be allowed to enter factorised terms? If so, why?

force notation that is never ambiguous

We already do

but that would lead to a very convoluted mess that’s hard to read and write

In what way is 6/2(1+2) either convoluted or hard to read? It's a term divided by a factorised term - simple

providing context that makes it unambiguous

In other words, follow the rules of Maths.

Links about various potentially ambiguous math notations

Spoiler alert: they're not

“Most ambiguous phrases and notations in maths”

e.g. fx=f(x), which I already addressed. It's either been defined as a function or as pronumerals, therefore nothing ambiguous

“Absolute value notation is ambiguous”

No, it's not. |a|b|c| is the absolute value of a, times b, times the absolute value of c... which you would just write as b|ac|. Unlike brackets you can't have nested absolute values, so the absolute value of (a times the absolute value of b times c) would make no sense, especially since it's the EXACT same answer as |abc| anyway!

In-line power towers like

Left associativity. i.e. an exponent is associated with the term to its left - solve exponents right to left

People saying "I don't know how to interpret this" doesn't mean it's ambiguous, nor that it isn't defined. It just means, you know, they need to look it up (or ask a Maths teacher)! If someone says "I don't know what the word 'cat' means", you don't suddenly start running around saying "The word 'cat' is ambiguous! The word 'cat' is ambiguous!" - you just tell them to look it up in a dictionary. In the case of Maths, you look it up in a Maths textbook

Because the actual math is easy almost everybody has an opinion on it

...and any of them which contradict any of the rules of Maths are demonstrably wrong

Most people also don’t know that with weak and strong juxtaposition there are two conflicting conventions available

...and Maths teachers know that both of them are made-up and not real things in Maths

But those mnemonics cover just the basics. The actual real world is way more complicated and messier than “BODMAS”

Nope. The mnemonics plus left to right covers everything you need to know about it

Even people who know about implicit multiplication by juxtaposition dismiss a lot of details

...because it's not a real thing

Probably because of confirmation bias and/or because they don’t want to invest so much time into thinking about stupid social media posts

...or because they're a high school Maths teacher and know all the rules of Maths

the actual problem with the ambiguity can’t be explained in a quick comment

Yes it can...

Forgotten rules of Maths - The Distributive Law (e.g. a(b+c)=(ab+ac)) applies to all bracketed Terms, and Terms are separated by operators and joined by grouping symbols

Bam! Done! Explained in a quick comment