this post was submitted on 22 Jan 2024
484 points (98.6% liked)

Science Memes

10940 readers
1846 users here now

Welcome to c/science_memes @ Mander.xyz!

A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.



Rules

  1. Don't throw mud. Behave like an intellectual and remember the human.
  2. Keep it rooted (on topic).
  3. No spam.
  4. Infographics welcome, get schooled.

This is a science community. We use the Dawkins definition of meme.



Research Committee

Other Mander Communities

Science and Research

Biology and Life Sciences

Physical Sciences

Humanities and Social Sciences

Practical and Applied Sciences

Memes

Miscellaneous

founded 2 years ago
MODERATORS
 
all 23 comments
sorted by: hot top controversial new old
[–] sukhmel 77 points 9 months ago (1 children)

And if you want to increase accuracy you just add more tests

[–] [email protected] 13 points 9 months ago (1 children)

The failures are probably just flake then

[–] [email protected] 10 points 9 months ago

"prime on my machine"

[–] [email protected] 73 points 9 months ago (1 children)

I wrote an ai that classifies spam emails with 99.9% accuracy.

Our test set contained 1000 emails, 999 aren't spam.

The algorithm:

[–] [email protected] 2 points 9 months ago

Honestly I'd rather have that, than randomly have to miss some important E-mail because the system put it in the junk folder.

[–] [email protected] 60 points 9 months ago (1 children)

All odd numbers are prime: 1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is experimental error, 11 is prime, and so on, I don't have funding to check all of them, but it suggests an avenue of productive further work.

[–] [email protected] 10 points 9 months ago (1 children)
[–] [email protected] 6 points 9 months ago

Look, just because it breaks everything, that's no reason not to include it in a joke. We'll just have to rebuild the entire edifice of mathematics.

Seriously, thanks for the link, I hadn't considered the implications of including 1 in the set of primes, and it really does seem to break a lot of ideas.

[–] [email protected] 23 points 9 months ago (3 children)

It's been a fat minute since I last did any programming outside of batch scripts and AHK... I'm struggling to understand how it's not returning false for 100% of the tests

[–] [email protected] 50 points 9 months ago* (last edited 9 months ago)

It is always returning false, but the screen shows a test, where a non-prime evaluating as false is a pass and a prime evaluating as false is a fail :))

[–] [email protected] 27 points 9 months ago (1 children)

The output shown is the result of a test for the function, not the result of the function itself.

[–] [email protected] 12 points 9 months ago

Ooooh I see lol. Thank you!

[–] [email protected] 14 points 9 months ago

It's returning false for all the tests, but it only should be returning false for 95% of them, as 5% are prime.

[–] [email protected] 15 points 9 months ago* (last edited 9 months ago) (2 children)

How many primes are there before 1 and 2^31. IIRC prime numbers get more and more rare as the number increases. I wouldn't be surprised if this would pass 99% of tests if tested with all positive 32 bit integers.

[–] kogasa 14 points 9 months ago (1 children)

Per the prime number theorem, for large enough N the proportion of primes less than or equal to N is approximately 1/log(N). For N = 2^(31) that's ~0.0465. To get under 1% you'd need N ~ 2^(145).

[–] sukhmel 4 points 9 months ago

So you better use 128-bit unsigned integers 😅

[–] [email protected] 7 points 9 months ago

Wolfram alpha says it's about 4.9%. So 4.9% of numbers in the range 1 to 2^31 are prime. It's more than I expected.

[–] dbx12 13 points 9 months ago* (last edited 9 months ago) (2 children)

It even passes over 100% of tests!

Edit: I can't read floats.

[–] [email protected] 14 points 9 months ago

have y'all never seen a float before

[–] [email protected] 10 points 9 months ago

The last line reads 95.121 %. I was confused too that it is 121%, but, sadly, no.

[–] [email protected] 11 points 9 months ago* (last edited 9 months ago) (1 children)

Ah yes, my favorite recurring lemmy post! It even has the same incorrect test output.

Last time I saw this I did a few calculations based on comments people made:
https://l.sw0.com/comment/32691 (when are we going to be able to link to comments across instances?)

  • There are 9592 prime numbers less than 100,000. Assuming the test suite only tests numbers 1-99999, the accuracy should actually be only 90.408%, not 95.121%
  • The 1 trillionth prime number is 29,996,224,275,833. This would mean even the first 29 trillion primes would only get you to 96.667% accuracy.

In response to the question of how long it would take to round up to 100%:

  • The density of primes can be approximated using the Prime Number Theorem: 1/ln(x). Solving 99.9995 = 100 - 100 / ln(x) for x gives e^200000 or 7.88 × 10^86858. In other words, the universe will end before any current computer could check that many numbers.
[–] sukhmel 1 points 9 months ago

But you can use randomised test-cases. Better yet, you can randomise values in test-cases once ~~and throw away the ones you don't like~~ and get arbitrarily close to 100% with a reasonable amount of tests