482
submitted 2 years ago by [email protected] to c/[email protected]
top 23 comments
sorted by: hot top new old
[-] [email protected] 76 points 2 years ago

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

[-] bonuspoints 14 points 2 years ago

The failures are probably just flake then

[-] [email protected] 10 points 2 years ago

"prime on my machine"

[-] [email protected] 73 points 2 years ago

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 2 years 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] 61 points 2 years ago

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] 11 points 2 years ago
[-] [email protected] 6 points 2 years 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] 24 points 2 years ago

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 2 years ago* (last edited 2 years 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 2 years ago

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

[-] [email protected] 12 points 2 years ago

Ooooh I see lol. Thank you!

[-] [email protected] 14 points 2 years 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 2 years ago* (last edited 2 years ago)

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.

[-] [email protected] 13 points 2 years ago

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).

[-] [email protected] 4 points 2 years ago

So you better use 128-bit unsigned integers ๐Ÿ˜…

[-] [email protected] 7 points 2 years 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.

[-] [email protected] 14 points 2 years ago* (last edited 2 years ago)

It even passes over 100% of tests!

Edit: I can't read floats.

[-] [email protected] 14 points 2 years ago

have y'all never seen a float before

[-] [email protected] 10 points 2 years ago

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

[-] [email protected] 11 points 2 years ago* (last edited 2 years ago)

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.
[-] [email protected] 1 points 2 years 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

[-] [email protected] 6 points 2 years ago

why would you store comments in git?

Oh. Oh ha ha ha ha you just don't know 'checkout' from 'check out'. Clean out your desk.

this post was submitted on 22 Jan 2024
482 points (99.0% liked)

Science Memes

15942 readers
2385 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