Apologies if this is a loaded question, the closest thing I can find is this post and while some of the answers were helpful, I feel I'm not close to solving my problem, hopefully this thread can become a guide for people like me in the future.

Let me start by saying I'm not an academic, at least not traditionally speaking...

I'm a self-taught, hobbyist programmer, I've been working with cellular-automata for a while now, and in my quest to improve performance, I developed an algorithm that in short, minimizes the number of cells that require iteration every step, greatly reducing overhead, instead of iterating over the entire grid cell-by-cell as it's done traditionally.

What I want to do is document the algorithm in a paper and publish it, my reasons for wanting to do this are:

  • Because I genuinely believe it can be useful to other people working with cellular automata.

  • To get credit for it.

  • Because I think it'll look good on my résumé and help me with job hunting.

So, I've been learning about how papers written, formatted and published, as well as studying other papers as examples and frankly the whole process seems daunting.

Let's start with the writing, this is something that's brought up here a lot, but research papers use complex language in their writing, to my understanding, the reasons for that are conciseness, and because the papers are written by researchers, for other researchers...

First of all, I want my paper to be accessible to the average Joe like me, and I know I can concisely communicate my idea using (mostly) plain English, but I'm still worried about whether or not that will acceptable.

Secondly, what of the contents of my paper? I understand the general structure of a paper, starting with an abstract, keywords and an introduction, and ending with conclusions and references, but what about the actual body of the paper? I mean, I have a general idea of what I'll talk about (Briefly go over the general structure of a CA, provide pseudo-code, flowcharts, algorithm analysis of HOW performance is actually improved, talk about additional nuances like chunk size, neighborhoods and which values to prioritize as input, etc...), but how do I order all of that? And what other points should I address?

And finally, where do I go to publish? ResearchGate might be a bit too ambitious, plus the process of submission and review seems to be quite lengthy, I got my eye on arXiv, which does require you to either be a registered author or be endorsed by one, but I do have hope I can get endorsed if my paper is good enough, plus according to this answer, I can submit to arXiv and then submit to ResearchGate at a later date, one concern I have is I've seen people (mostly on ResearchGate) mistrusting arXiv moderators for megalomania and even plagiarism, I guess I can protect myself against the latter by either uploading a preprint to my personal portfolio or even documenting the algorithm on Youtube before anything else, to prove it's my original idea.

So to summarize: I'm a hobbyist who developed an algorithm, I want to document it in a paper and publish it somewhere reputable, how do I go about doing that?

  • 1
    A preprint isn't a "publication" in most fields; arXiv hosts preprints. ResearchGate is a social media site catering to academics; they'd like people to upload manuscripts published elsewhere, but again, that's not "publication" per se.
    – Bryan Krause
    Feb 14, 2022 at 20:08
  • @BryanKrause I guess I'm confused about the entire process of publication, so I'm guessing I directly contact whatever journal I want to submit my paper, but I can also just upload a preprint to arXiv if I didn't feel like waiting.
    – The Riser
    Feb 15, 2022 at 0:13
  • I would guess: before submitting to journal X, look at recent papers in that journal which "document an algorithm". Understand the format and methods used in those papers, and do the same for your paper. Also "upload to arXiv" is not as simple as you make it sound: arXiv has some barriers in place to reduce the cranks posting there. If this is your first paper, you will need (one or more) endorsers.
    – GEdgar
    Feb 15, 2022 at 2:13
  • @GEdgar I'm aware it's not that simple, I'm hoping I can write something get enough to get endorsed as I said in my post.
    – The Riser
    Feb 15, 2022 at 12:10

2 Answers 2


Before you can publish you need to be sure you have something to publish.

In your case I think that means at least two more steps in your research.

First, you say

iterating over the entire grid cell-by-cell as it's done traditionally.

People have been programming cellular automata for a long time. You must find a way to check the literature to make sure you know the current state of the art.

Second, the only way to convincingly demonstrate that your algorithm is significantly better than existing ones is to run benchmarks on seriously large examples comparing your algorithm's performance with standard ones.

When you have done both of these things then you can think about where and how to publish.

  • "Second, the only way to convincingly demonstrate that your algorithm is significantly better than existing ones is to run benchmarks on seriously large examples comparing your algorithm's performance with standard ones." - you could also do a theoretical analysis (which might be enough, if finding the relevant grid-cells is efficient)
    – user53923
    Feb 15, 2022 at 8:44
  • I already did a cursory search and what I found was either basic optimizations (Using smallest possible data types, etc...) , or highly specialized for very specific models, and even those were rare, my algorithm is general, and depending on certain configurations can improve performance with near 100% efficiency, I don't think a benchmark is needed, but an analysis will be included in the paper.
    – The Riser
    Feb 15, 2022 at 13:04

Where you publish will depend on a lot of things.

  • Are you prepared to pay publication charges? These can be substantial for some journals.
  • Are you associated with any university or research institute? Could you lean on contacts to get an "in" at one?
  • Do you guess you might have more to publish on a similar line?
  • How much leg work are you prepared to put into this?

If you can get accesss to a university library you can probably find a lot of journals to investigate. You could contact the university department most closely associated with your work.

To pick a journal to put in the "possible" pile, you should go look at the kind of papers that get published there. If you can, browse a few issues and at least look at the titles. If you see useful titles, read some of the abstracts. Consider whether your work would look "at home" with that work. If they look like they are in the same general subject area as your work, that journal is a posisble.

That will also give you some examples of the makeup of articles that the journal publishes. You can get an idea about how terse they need to be, how long they can be, what they like about tables and figures and so on. The journal probably prints some advice on these issues. Also probably has a web site you should take a look at.

The librarians should be able to help you with possible journals to try first. They can probably suggest profs who work in the area in that university, if there are any.

Then you can investigate things like their page charges for publication. If the costs are just not possible, you can put that journal in the "oh well, maybe not" pile. You can also look for things like their policy on who can submit articles, and what the process is.

If you can get an associate in the university they can often guide you as to the best practices for publication. If you might have several papers to publish then it is conceivable you could get some kind of official connection to the university and so be able to put that on your submitted article. Just make sure they really do agree with that plan first.

  • Let's just say that money is out of the question, I live in a country where online monetary transactions are pretty much impossible, plus I'm short on cash anyway, I'm also not associated with any university, like I said, I'm not an academic, just a hobbyist. What options does that leave me?
    – The Riser
    Feb 15, 2022 at 1:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .