This jam is now over. It ran from 2023-11-01 04:00:00 to 2023-12-01 04:59:59.

Are you tired of computer science professors telling you about NP-complete problems?  Why not tell them a thing or two?

Spend the month of November trying to find the holy grail of computer science: whether or not P=NP.  This jam is intended primarily for people who have some interest in computer science but lack PHDs.  This is an algorithm jam, not a game jam.  NP-complete problems come up a lot, so maybe you can find a use for your algorithms in game development.

This is the second annual Nondeterministic November, an event where thousands (or possibly dozens) of itch.io users will analyze NP-complete problems.  Perhaps a thousand code monkeys banging away on keyboards will discover something new.

Project Ideas

Here's some examples of fun projects to work on for this jam:

  • Write a program or algorithm that solves an NP-complete problem.
  • Convert an NP-complete problem into another NP-complete problem.
  • Prove that a problem is or isn't NP-complete.
  • Write a mathematical proof of whether P=NP or not.
  • Find some new application for an NP-complete algorithm.
  • Allocate more computing resources to an NP-complete problem.  For instance, you could use the graphics card to perform mathematical computations or parallelize an existing algorithm.

Submissions

Programs should run on Windows or be web-based.  Mac/Linux options are fine, but Windows is more widely available.

Code submissions are also acceptable.  You may use whichever programming language you prefer.  Java may be the most well-known language.  If you want other people to be able to use your code, I suggest using an open source license, such as the MIT license. See https://opensource.org/licenses/MIT.

A word of caution: if you do decide to open source your code, don't be surprised if someone else uses it.

Text submissions (for proofs, etc.) should be .pdf files or .latex files.  Other options will also be accepted so long as they are easily readable.

Rules

  1. Don't submit irrelevant junk (e.g. bubble sort, propaganda).
  2. Don't submit after the submitting period.
  3. You're allowed to use code or materials you already have.
  4. You're allowed to work in teams.
  5. Don't submit bigoted or NSFW material.  I don't know how that could happen in this jam, but it shouldn't.

Optional Theme

This year, the jam has an optional theme.  You do not have to use the theme.  It's here to give people some inspiration about what to do.

The theme for this year is: Batch Guesses.  What I mean here is guessing multiple values at a time.  The point of this is to save work by processing multiple guesses at a time.  For instance, in a sat solver, someone might guess the values of 3 variables (or hundreds) at the same time, rather than guessing values 1 at a time.  The downside is that a bad guess might take the algorithm down a pointless rabbit hole with little gain.

Please remember that the theme is optional.  Obviously, there are other ideas.

Benefits

There's no ranking system, and this jam offers no prizes.  But here are some reasons to participate in this jam:

  • The Clay Institute is offering $1 million for a proof whether P=NP.  (This jam has no connection to the Clay Institute.)
  • It would be nice to have some NP-complete algorithms in your toolbox.  I've heard that they turn up a lot.
  • Chaos and destruction!  If you can find some way to factor large numbers quickly, you can wreck the entire Internet.
  • You might learn something.
  • If you participate in this jam, you're exempt from No Nut November.