HACKER Q&A
📣 eezurr

As an outsider, how could I publish a white paper?


Hello HN

TL;DR: I probably created the fastest "find all K simple paths" algorithm for a weighted or unweighted, directed or undirected graph. How would I, as an outsider, publish the results? If I'm right, I'd like to benefit from this discovery to open doors to more interesting work/careers. (I fear, in my 30s, I am at a huge disadvantage for not having any big co. or university to list on my resume)

Background:

I am outside of the tech "scene" and have no tech/academia connections (self taught, no time spent in university). That being said, I've been programming and managing operations (working as the sole dev at small co.) for 10+ years. I recently quit my job to reevaluate my career path and for fun, started working on a city builder video game. The first big problem I had to solve was "how can I efficiently simulate people/cars utilizing ALL the fastest paths available to them?" (in case you aren't aware, Dijkstra's algorithm only returns one shortest path from start to destination).

Solution:

I created an algorithm that has a time complexity of around O((V+E)log V) and a space complexity of around O(n^2).

Now:

I tested the algorithm in my game world and watched my digital citizens utilize all the shortest paths available to them for various destinations around the map. For a heavy load test, I created a 100 x 100 grid (where each square is a node), and my code takes 1.75 times longer than Dijkstra's. Since I can store the search tree I created, I can move tens of thousands of units around the map without any lag (using SFML vertex arrays for efficiently handling the screen draws).

I started researching other existing solutions and to my surprise, my solution is faster. Eppstein (1997) is the fastest solution I came across @ O(E + V log V + kV), where k can grow at some binomial coefficient (thus would be terribly inefficient with hundreds of nodes, let alone thousands, if many fastest paths existed, which is the reality of most cities if you walk).

Other notes (excuse my lack of traditional education here):

This does not prove P = NP (phew! I'm safe.). While the number of shortest paths can grow at some binomial coefficient, the classification of all possible paths does not. To explain by example: Going from node (A) to node (G) could possibly use nodes (B, C, D, E, F) along the way. So A-->G is a classification. When we add a new node (H) to (G), that (A) can only get to via (G), the A-->G classification is not changed. On the other hand, if every node connected to every other node, the amount of classifications would increase at an exponential rate (and devolve into all NP-Complete problems), and the possible amount of k paths (not necessarily shortest) would grow super-binomial coefficient-ly.


  👤 sgillen Accepted Answer ✓
Are you certain you have not rediscovered a previously known algorithm? a common variant of Dijkstra's algorithm finds the shortest path from one node to all other nodes in a graph, using in O((V + E)log v) time and O(V + E) space (and can actually get a better big O with a Fibonacci heap, but no one uses this in practice).

So from reading your post, I'm not entirely sure what sets your algorithm apart!

If you do want to make claims about your algorithm being state of the art, I recommend trying to come up with a formal proof for the run time, and type up a manuscript in latex presenting the algorithm, a proof of correctness / runtime, and placing the algorithm into the existing literature. You can then try to send that to academics to read over, or submit to a conference as a solo author, if the work is good I don't think they will ignore you.


👤 fagnerbrack
It looks like you're not afraid of publicly talking about your discovery. For that reason, I recommend going to the papers you read with previous solutions and send everyone an email explaining what you discovered (the ones who are alive). Academics are very aproachable if they know what they're doing (AKA not famous).

If they respond to you, ask them if they would be willing to review your draft. Write a draft of a whitepaper in the format of abstract, content, conclusion and send it to them attached. Only if they agree to review to you, if they claim that it's their discovery you have paper trail to prove otherwise and they'll lose their reputation, they won't do that. Try to get feedback of as many people you can, trying to prove your discovery have some flaws or that it was already discovered by somebody else.

If you have enough evidence that it's a new discover, now next step is to ask them for contacts of some credible comp-sci publication that you can publish it. Add them as thank you for reviewing your draft and publish it. After you publish, post in HN with the name of the journal for credibility.


👤 OldHand2018
Go through the hoops to put a preprint on Arxiv. Put in the effort to properly format the document, etc. They’ll probably want you to get an endorser before you can submit, but they also explain how to find people to endorse you.

https://arxiv.org/help/submit


👤 tenken
People have posted (math/compsci) proofs on 4chan .... Post it to the internet. Lol

https://www.wired.com/story/how-an-anonymous-4chan-post-help...


👤 adriancr
The devil is usually in the details, are you sure you're not missing a 'k' factor in your O() complexity?

In your shoes I'd try to set up some benchmarks and other algorithms and compare, just for the learning experience. Try and fiddle with large V/E/k factors and compare. Check out some profiling tools, etc.

If all goes well you could just publish a library, that should count as prior work, nobody can come and steal your glory if you do wish to make it public..


👤 tjader
Can't you just produce an article with LaTeX and self-publish the article in relevant forums, a la the Bitcoin whitepaper? Maybe find some researches with published articles about this problem and send it to them asking for comments. If it is indeed a breakthrough it will make the rounds.

Or do you specifically want to publish in some journal?


👤 winterplace
Do you have an email address or a method of contact?