7 ms·
Show HN: Goldbach Conjecture up to 4*10^18+7*10^13
Achieved a new world record in verifying the Goldbach Conjecture using grid computing, by extending the verification up to 4 quadrillion (4×10¹⁸) + 70 trillion (7×10¹³).
My grid computing system - Gridbach is a cloud-based distributed computing system accessible from any PC or smartphone. It requires no login or app installation. The high-performance WASM (WebAssembly) binary code is downloaded as browser content, enabling computation on the user’s browser.
[Website]
https://gridbach.com/ https://gridbach.com/
[Medium]
https://medium.com/@jay_gridbach/grid-computing-shatters-world-record-for-goldbach-conjecture-verification-1ef3dc58a38d https://medium.com/@jay_gridbach/grid-computing-shatters-wor...
- laurent_du 1y agoImpressive work! I did my share and added one billion verified numbers to your total, now you just need to get (almost) another billion of people to do the same and you'll achieve your next goal!
- jay_gridbach 1y agoThanks for the cheer! I will keep going.
- kazinator 1y ago"No one has proven it mathematically up until now" is bad grammar in relation to the intended meaning. This idiom of English conveys the meaning "it has now been proven mathematically, but never before now; this is the first time". What Hiroaki wants here is "no one has proven it mathematically". Full stop. Or "no one has proven it mathematically to this day", or "no one has proven it mathematically so far".
- jay_gridbach 1y agoThank you for your advice! It helped me to understand how native speakers take this sentense. I have just corrected to "no one has proven it mathematically to this day".
- JohnKemeny 1y agoIn this setting, the preferred word is "proved".
- pxeger1 1y ago"Proven" is not incorrect, although sometimes proscribed. https://en.m.wiktionary.org/wiki/proven#Usage_notes https://en.m.wiktionary.org/wiki/proven#Usage_notes
- JohnKemeny 1y ago"Proved" means demonstrated with a formal mathematical argument. "Proven" refers to something confirmed over time, often used more informally. "Proofed" is an editorial term—preparing text for publication.
- kazinator 1y agoTo people who accept "proven" as the past participle of "prove", there is no difference. The only reason it would be rejected in English writing about mathematics might be that a good many of mathematicians are also pedants for prescriptive grammar. It is not a mathematical issue whatsoever.
- weinzierl 1y agoNot a native speaker, here. Do you mean "proved" is preferred in a mathematical context?
- tiniestcabbage 1y agoNot who you were replying to, but yes, it's a special case. For anything not having to do with a formal math-like proof, you want "has proven" instead of "has proved." It's super weird. We only have a few of these in English, where one of the tenses of the verb changes depending on the subject matter, but they do exist. The only other one I can think of off the top of my head is hang: past and participle "hanged"/"have hanged" (to execute or be executed via hanging from the neck) versus "hung"/"have hung" (any other meaning). Hope that helps! Edit: fixed my example to better match the original text.
- tromp 1y agoDoes the gridbach server trust all submitted results to be correct, or can it somehow verify them (much faster than the outsourced computation) ? I managed to contribute 2B verifications in a few minutes.
- jay_gridbach 1y agoThanks for giving it a try. The Gridbach server only accepts computed result sent from my component.
- Gehinnn 1y agoBut how do you make sure the user actually runs your component without any modification?
- jay_gridbach 1y agoAll I can tell here is that I do certain level of valication on server side. As one of the goals of this project is to popularize the fun of mathematics among the general public, I think I would need to avoid a open network configuration to strictly conduct academic verification. The algorithm itself is publicly opened, so anyone can verify the computation step is correct or not. https://github.com/nakatahr/gridbach-core https://github.com/nakatahr/gridbach-core
- londons_explore 1y agoSo this conjecture was validated up to 4,000,000,000,000,000,000. And this project has increased that number to 4,000,010,000,000,000,000. Increasing the limit by 0.00025% Not totally sure this is a good use of the compute/brainpower...
- JohnKemeny 1y agoIt's a better use of compute/brainpower than dissing someone's passion.
- jay_gridbach 1y ago@londons_explore @JohnKemeny Thanks you for your interst to my project! I have to admit the computation speed is slower than I expected. I have a plan to develop GPU version of computation client which could be much faster. Also I am happy to have feedbacks from for updating this project.
- BoingBoomTschak 1y agoWhat if my passion is serial killing? Your brain is running on pure feelgoodium when you post such drivel.
- JohnKemeny 1y agoThat was mean.
- psalaun 1y agoI thought the same. The resulting UX is really nice though, and the stack is interesting. If the author does publish other blog posts about the technical side, this project may help other people start their own distributed calculation project on more fruitful issues for the society, and I guess that'd be a win.
- jay_gridbach 1y agoThank you for the kind comment! I'll put out a blog post about my tech stack sometime.
- schoen 1y agoHow does the efficiency of the WASM version compare to running the same algorithm as native code?
- jay_gridbach 1y agoComparing the performance of WASM Go version v.s. native Go command line version, the native code is faster. There should be certain overhead using WASM I guess.
- waitforit 1y ago> 4 quadrillion (4×10¹⁸) + 70 trillion (7×10¹³) That's 4 quintillion.
- jay_gridbach 1y agoThank you, I have just fixed it.
- dfc 1y agoYou also need to fix this sentence: "i aim to push this farther to 5 quadrillion."
- jay_gridbach 1y agoThank you, I have just fixed it. This is so helpful, thank you from the bottom of my heart.
- dfc 1y agoKeep doing stuff you like.
- vlz 1y agoRunning this now. I like how they have a big "Number of counterexamples found: 0" in the UI. Imagine they would find a counterexample on your machine… From time to time I switch to the tab to make sure the zero is still a zero (I guess there is basically no chance, but who knows?)
- jay_gridbach 1y agoHaha, finding even a single counterexample would be a nightmare.
- staunton 1y agoSurely, finding a counterexample would be huge news, a noteworthy advance in mathematics, and thus a great and widely praised achievement.
- ndsipa_pomu 1y agoIt'd also be an end to the project and would make the conjecture far less interesting.
- kevinventullo 1y agoIMO it would make the conjecture far more interesting, as it would be a surprise to most people who have thought about the problem. Many natural questions would arise, starting with “Is this the only counterexample?”
- ndsipa_pomu 1y agoPossibly, but it would join other false conjectures such as Euler's sum of powers conjecture - posed in 1769 and no counterexample found until 1966. There's only been three primitive counterexamples found so far. (I got that from https://math.stackexchange.com/questions/514/conjectures-that-have-been-disproved-with-extremely-large-counterexamples https://math.stackexchange.com/questions/514/conjectures-tha... which features some other false conjectures that may be of interest to you)
- Karliss 1y agoI call BS on this one. Placing a penny on top of skyscraper doesn't make you a builder of highest building. Still an interesting (more than) weekend project but not a meaningful record. Time required to compute next range grows very slowly and this project has only computed the incremental part from 4*10^18 to 4*10^18+7*10^13 . It would have taken previous record holder extra 0.002% time get those additional 7*10^13. A meaningful record needs to either reproduce old one or beat it by significant margin. Otherwise you get meaningless +1 like this. By my estimates (~7s to compute 10^8 large chunk) new "record" represents ~60days worth of single core compute. Run it on multiple threads and you essentially get 3-4days worth compute on single modern computer. And it does so at rate which is much worse than previous record using 2012/2013 hardware. Previous record software was able to do 10^12 window in 48minutes on single i3 core from 2013. That's roughly 24x faster using the old software on 10year old low end computer compared to the new software on new hardware. Previous record represents ~133000 days of single core compute, probably less since majority of it likely run on something better than i3. Unless author gets it to maliciously run on a popular website with at least 10^5 users(concurrently every minute not 10^5 unique during day), 5*10^18 doesn't seem reachable this way. Getting a data center to donate computing hours would also work, but in that case you could use more efficient native software like the one from 2013 (which was order of magnitude faster even then) or rewrite of it optimized for modern hardware. The current webassembly one only makes sense if you can get random individual volunteers do donate compute.
- monster_truck 1y agoTo be equally pedantic, there is a historic practice of attaching spires to skyscrapers in order to claim this record within a city/country/etc
- furyofantares 1y agoYes but the person placing the spire doesn't claim to have built the largest skyscraper unless they also built the rest of the skyscraper. Well, maybe they do on their resume.
- 1y ago
- Coneylake 1y agoI contributed 32B. My work here is done
- jay_gridbach 1y agoThanks for sharing your computation resource!
- johnisgood 1y agoRun a Tor node and mine BTC, too. :D
- yujzgzc 1y agoI thought there'd be a plot twist by the point I read 20 seconds into the article, letting me know that the algorithm was in fact already being run on my cell phone as I was reading about it... (Which would be a fine use of HN's traffic IMO!)
- briansm 1y agoInteresting that the verified 4-quintillion range is well within 64-bit integer math range (18 quintillion or 9 quintillion signed), no need to go beyond regular 64-bit computing any time soon.
- jay_gridbach 1y agoExactly. At this point WASM was the best choice for me to run the calculation with uint64 as I wasn't sure how much BigInt in JavaScript is efficient.
- krylon 1y agoWhen I learned programming, one of my first programs was a (rather lame) attempt to check the Goldbach conjecture. Over the years, as I learned more programming languages (first attempt was in C), it became my go-to program to get acquainted with a new language (for a few years, anyway). I never got very far, but it was fun to see how much performance I could squeeze out of the programming in various languages. So this tickles my nostalgia bone strongly. And maybe makes me feel a tiny bit jealous. But more excited than envious, really, to see people are still working on this problem.
- jay_gridbach 1y agoThank you for sharing your experience. It's quite moving to know that someone in another country was going through the same thing I was. I implemented Goldbach in C++, C#, Java, and Go.
- krylon 1y agoI did... let me think, it's been a while... C, Python, C++, Java, Common Lisp, Ada, Erlang. Also OCaml, Ruby, Haskell, Emacs Lisp, Lua, Rust, but I don't think any of those ever reached a working state.
- jay_gridbach 1y agoI respect you have learnt a lot of programming languages throughout of your career.
- krylon 1y agoMy knowledge of most of these is superficial or seriously outdated. Particularly OCaml, Haskell, and Rust (AND C++!!!) are not languages I would claim to really "know". When I was younger, I tried to get to know as many languages as possible, at least in passing, but I have not used many of these in a professional context.
- gnarlouse 1y agoDidn't seti@home get discontinued because the state of the art of computation progressed in the direction of cloud computing? Is the goal here to distribute the cost burden?
- nroets 1y agoYou may be right e.g. SETI now requiring more RAM than it found in consumer computers. Also likely that seti@home was killed due to bandwith cost making it uneconomical[1]. After all they were looking for aliens in the data. This "gridbach" project is much closer to GIMPS. [1]: even if seti@home got their server bandwidth for free, they also need to factor in the bandwidth cost of their "home" participants.
- ta12653421 1y agoGrok says: Final Answer: 4.00007×10^18 :-D
- taraparo 1y ago[flagged]
- heikkilevanto 1y agoRunning it now. On my phone (FairPhone 4) it took about 20 seconds for a round. On my desktop (Debian Liunux, KDE, Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz), Firefox runs a round in about 12 seconds, and Chrome in 14. I tried running in on 4 tabs on Firefox, and it did slow down a bit (maybe 16 seconds). All 4 tabs reported the same count, and it seemed not to increment for all the tabs. Also the initializing step was very fast on the subsequent tabs, as if it was reusing some data. Each tab used 100% of CPU and was doing different calculations. Same for Chrome. Maybe it is not designed to be run in parallel on the same browser? Now I just run it on two separate browsers, one tab each. I probably stop later today when I need the computer for something else. (Edit: Got a bit over 100B in 3.5 hours, stopping now. Machine running a tad warm, 25% CPU use, feels normal to use, but I think the fans are working a bit harder than normal)
- jay_gridbach 1y agoThank yoy for trying! I am aware that it doesn't work correctly when opening the app in multiple tabs in same window.
- pylua 1y agoHonest question— how is this verified for accuracy ? What if there is a bug ?
- jay_gridbach 1y agoThank you for your interst. I disclosed the core verification algorithm to make the procedure reviewable. https://github.com/nakatahr/gridbach-core https://github.com/nakatahr/gridbach-core
- kuberwastaken 1y agoSo cool!
- throwaway150 1y agoI truly hate to bring this up, knowing how much passion has gone into this project. But there's an important thread got buried due to arguments! That thread raises serious concerns about the validity of this bold claim. As highlighted by @tromp and @oefrha (https://news.ycombinator.com/item?id=43734877 https://news.ycombinator.com/item?id=43734877) it is clear, clients can cheat. So we can't be 100% sure that none of the clients cheated. What if a counterexample to the conjecture exists, but a dishonest client simply failed to report it? Math results require rigor and without rigor no claim can be trusted. Without rigor, this bold assertion remains just that. A claim, not a fact. OP! On top of that, you're being evasive in threads where you're being asked how your validation works and you went so far as to flag a pertinent thread. That definitely doesn't inspire confidence. Addressing the validation questions is absolutely 100% necessary if you want this to be seen as more than just a claim.
- pavel_lishin 1y agoIt doesn't even have to be dishonesty; it could be a poorly timed cosmic ray flipping a bit.
- GTP 1y agoYes, and I think this is actually more likely than someone intentionally modifying the code and finding a counterexample. Related, I'm now wondering what would happen if someone sent in a fake result claiming to have found a counterexample: will the website report the conjecture as proven false? It wouldn't last more than a few hours on the website, but I can totally see someone doing it as a prank.
- akoboldfrying 1y agoWell, in the worst case, such a false positive can be discovered in at most the same amount of time as a typical block takes, by rerunning that same entire block in the server. And since we expect positives (false or otherwise) to occur very rarely, this should not be expensive. Except... Doing this level of verification would enable DoSing the server very easily -- just send lots of false positives.
- commonlisper 1y agoCool project but... This is an egregious misrepresentation of the actual results both from significance perspective and accuracy perspective. A. No validation is done on server side to confirm the workers are reporting correct results. B. Increasing the limit by less than a thousandth of a percent does not make this a "world record"! If we go by that logic, I only have to validate one more example than you and claim a world record. And then you'd do the same. And then I'd do the same and we'll be playing "world record" ping pong all day! But "B" isn't the big problem here because we have worse problems "A"! Nobody (not even the OP) can tell if the results are accurate! No, I'm not simply dissing at a Show HN post. There are many comments here that explain these problems much better than I could. This is egregrious clickbait!
- lIl-IIIl 1y ago"Increasing the limit by less than a thousandth of a percent does not make this a "world record"!" Why doesn't it? "If we go by that logic, I only have to validate one more example than you and claim a world record." Yes. You can argue that it's not difficult enough or interesting enough, but you can't argue that N+1 result is not a world record.
- anyfoo 1y agoYeah, I was confused, too. That’s how world records work.
- throwaway150 1y agoThat makes sense in sports. But in math? It's trivially easy to generate thousands of so-called "world records" every second. Here's one: 4*10^18 + 7*10^13 + 1. Boom! New world record. Now add 1 and you've got another. Try it. Keep going. World records like this will be surpassed by someone else in milliseconds. Honestly, this is the first time I've heard "world record" used for NOT finding a counterexample. The whole thing feels absurd. You can keep checking numbers forever, calling each one a record? It's silly, to be honest. Never heard anyone calling these world records, before today. OP has a nice project. But the wording is so deceptive and so silly that it harms the credibility of the project more than it helps.
- jay_gridbach 1y agoI post this as a separate comment. At this point, I am not capable with addressing the thing you pointed out - the way to block fake results in open network. From the very beginning, I don't want to make the system closed-network nor login required as I want people to join the calculation instantly. Technically, I think it is impossible to prevent reporting fake result as long as it is open network system - which means my design doesn't fit to seeking rigor. If someone starts another project that handles calculations in better way, I would like to learn from it.
- throwaway150 1y agoYour project is not bad. It's the way you've worded this post and your article that comes across as misleading and deceptive. There's no definitive proof that a world record has been set. Nor that every individual block has been processed and reported honestly. What is known is that the system provides a mechanism for volunteers to submit counterexamples if they choose to. That's something. It's possible for clients to act dishonestly and withhold counterexamples. There's an incentive to claim independent credit. So the clients have incentive to lie. So your project doesn't ensure that every block has been verified, it allows honest participants to report findings. That's the reality and you should frame it that way in the post and article.
- EVa5I7bHFq9mnYK 1y agoWhat's the point of that exercise? Just so we boil faster?
- gre 1y agoCool project. In your tooltip for "My Top 30 largest Goldbach ridges" you have `yilded` instead of `yielded`.
- jay_gridbach 1y agoThanks. I fixed it :-)
- monster_truck 1y agoThis is neat :) X3D processors seem happy with running cores*1.5 tabs as long as you can keep it cool, was locked at 90C overnight and it never throttled below 4.2. Can see they're all doing different jobs, wish the display was better about updating the shared state! I've submitted ~400,000,000,000 verifications so far, highest ridge is 5641 (18th on the dashboard). I think I've submitted far more than this and it isn't being counted correctly due to multiple tabs E: The whinging about power consumption and killing the planet faster is so silly, a modestly sized OLED TV uses more power than this
- TacticalCoder 1y ago[dead]