Combinatorial Explosion

(en.wikipedia.org)

61 points | by godelmachine 1828 days ago

6 comments

  • vidanay 1827 days ago
    God, I wish I could get my product management team (and indirectly our customers) to understand this concept when they are constantly asking "can you just add a configuration parameter for that?"

    I swear our software has more possible configuration combinations than there are known stars.

  • motohagiography 1827 days ago
    It's useful as well for describing tipping points in network effects, the power of tools or products that have multiple interlinked features and uses, conditions for non-linear growth, and moving from applicability to enough specific cases as to become a new form of a general case.
  • Yajirobe 1827 days ago
    What's the point of linking Wikipedia articles here without any comment/question? What are we supposed to do with it?
    • playpause 1827 days ago
      "On-Topic: Anything that good hackers would find interesting. That includes more than hacking and startups. If you had to reduce it to a sentence, the answer might be: anything that gratifies one's intellectual curiosity."

      https://news.ycombinator.com/newsguidelines.html

    • simonh 1827 days ago
      Find it interesting?
  • amelius 1827 days ago
    I like the Python-way, which allows to iterate over permutations and combinations without generating everything upfront.

    https://docs.python.org/2/library/itertools.html

    • saagarjha 1827 days ago
      So lazy evaluation, really. This can help tame some instances of combinatorial explosions if you can filter the result enough before you concretize the result, but if you’re not careful you’ll end up in a long loop just like you would with an eager method.
      • amelius 1827 days ago
        Yes, use with care.
  • yuchi 1827 days ago
    Now it’s the perfect time to pitch my npm package that helps you with combinatorial explosions: https://github.com/yuchi/combinatorial-explosion

    It has few interesting utilities to explode an array of choices or a tree of choices.

    Also the (very small) source code is heavily annotated: https://github.com/yuchi/combinatorial-explosion/blob/master...

  • yeeeeeeeeeet 1827 days ago
    Another way to think about this is, for every 32 bit RGB pixel in an image, all the combinations of 16 million colors (or more as high dynamic range, if you forego the alpha channel and use the fourth octet for aditional color space; your choice) for even a 2x2 unit punnet square are quite insane to consider.

    Technically, with just four pixels, it's a set of combinations matching the entire IPv6 address space, since it's a full 128 bits of entropy.

    A 2 pixel by 2 pixel image, at 32 bits per pixel, packs enough bits to max out all possible MD5 hashes.

    [0] https://en.wikipedia.org/wiki/128-bit