Hacker News new | ask | show | jobs
by chton 4351 days ago
Hypothetical question: is it possible that they did not copy it? The author here indicates that the original maze was generated by software, maybe Kraft stumbled upon the same algorithm, or a close variation of it (considering the minor differences between the two)?

Obviously, this is very out-of-left-field and I don't believe it either, but it's not impossible that Kraft didn't plagiarise anything.

4 comments

Highly unlikely. The grid design contains about 900 edges which can be set or clear. Their maze differs by 7 edges. Here's a statistics problem for you: What is the likelihood of generating a random 900 bit binary number that differs from another random 900 bit binary number by only 7 bits?

Then there is the choice of grid design (identical), entry and exit holes (identical).

That's not a valid comparison for generated mazes, is it? Unless the algorithm was really just choosing randomly, some edges are far more likely to occur than others.
You are indeed correct. Nonetheless, the choice of the exact same fibonacci tile grid, exit, entry holes, and about 98% of the interior walls being identical...
Seeing how the author says he developed said algorithm and the maze is from Book #1 Maze #1 I don't think that's at all possible.
That's a very good point, but maybe it was #1 because it was the default case, the simplest to generate?
Under some jurisdictions (eg Germany), I'm not sure whether the output of a program is copyrightable at all. Your software, yes, but probably not the output.
What about if the program takes a variety of inputs which influence the output? (At some point there has to be a transition, since e.g. books are "just" the output of some program.)
For any book, there exists some program which generates it, but most books are not created that way (so we consider those books to be products of human creativity).
I was talking about the word processor/text editor, since the things created by them are still just the output of some program (with heavy human influence along the way).
That can't possibly be that simple. Allmost all movies, songs, images and programs made today are outputs from programs.
I guess he means the output of a program that has no creative input (other than writing the program itself).

I'd argue that if I wrote a program to generate a novel, that novel should be copyrightable.

That's just too easy and doesn't make sense.

OTOH one could argue that the maze itself does not fall under the scope of the Urheberrechtsgesetz because its threshold of originality is too low (no offense, it is after all auto-generated). But I'm no lawyer and this is just a spooky idea.

I assume it would also depend on whether there were other steps in the process, such as if he selects the mazes for his books, etc., from a larger number of randomly-generated mazes based on aesthetic appeal, difficulty, or other criteria.
First result I found discussing the issue: http://the-digital-reader.com/2013/09/13/friday-fun-autonomo... US doesn't seem as clear as you thought, maybe!
Wait, the information you type into a text editor or draw in Illustrator is not copywritable in Germany?
That depends on the complexity of possible inputs and the complexity of possible outputs - if your text editor would only allow for single-character documents, I imagine its output might not be copyrightable ;)
"What is a quine?"
It is impossible.
Mind elaborating why? I'm not versed in maze generation, but I am a software dev, and reinventing an existing algorithm does happen. It might be very unlikely in this case, but I'd just like to know why.
I wouldn't say I'm an expert in maze generation either, but I would agree that it would be nearly impossible for the following reasons:

1.) The specific maze style used, with the semi-random angled lines within a circle shape, isn't the most mathematically simple form of a maze. If it was a grid pattern in a rectangle, there might be a tiny chance of two people making the same maze, but to create a maze of that style would require more creative programming, with more tune-able parameters, and more decisions left to the implementer.

2.) In order to choose from the vast number of possible mazes that fit a certain pattern, the algorithm is almost certainly going use some random number generation. Even if two people were using the exact same maze algorithm, they would have to also have to use the same randomization process, and start with the same seed in order to arrive at the same maze. I guess it wouldn't be impossible for both people to explicitly choose the same initial seed, (or arrive at it randomly) but that would be very unlikely.

With maze generation, you need some way of deciding which subset of the possible walls you're going to keep. Usually you rely on some random or pseudorandom numbers to feed into the algorithm or use internally.

Having the maze verts in the same positions is possible and not too unlikely. Having the same walls is astronomically unlikely. Even if you had exactly the same algorithm (possible, but unlikely) and the implementations used the random values in exactly the same order, you'd also need exactly the same random seed. There are a lot of possibilities for that seed.

you'd also need exactly the same random seed. There are a lot of possibilities for that seed.

I've seen a lot of code that either forgot to srand(), or misused it in some way so the output was pretty determinate. There are also a limited number of PRNGs in use, and they're most definitely not understood well by the majority of programmers; the crypto community knows this quite well. A collision may not be so unlikely after all.

(Try Googling "41, 18467, 6334" for example. "41184676334" also brings up some interesting results.)

Thanks for the explanation. what would the impact be if they had a different seed, would the maze be really drastically different? Or could it look more like the 2 mazes in the original post, with only a few walls different and mostly identical?
It depends on the pseudorandom number generator that you're using, but you'd be hard pressed to find a standard library prng where similar seeds produced similar random numbers. That would be pretty bad design.

For example, here is some code I wrote to test my own prng:

srand(1000000); for( int i = 0; i < 10; i++ ) printf( "%d\n", rand() );

printf("====\n");

srand(1000001); for( int i = 0; i < 10; i++ ) printf( "%d\n", rand() );

And here is the result:

21585 18586 29373 4301 3304 21158 23657 21142 2144 26110 ==== 21589 29335 14469 28364 13618 25085 26770 18215 18656 19962

As you can see, they diverge really quickly.

I'm aware of how prngs work, and of how often they are misused. What I was mostly wondering was how big an effect that would give in the final product. Do typical maze generation algorithms use it extensively, or sparingly so the differences are minor? How different would the maze look if the seed was different, and is it likely that you could get very similar mazes from completely different seeds?