DDwarf Fortress Defies Materialism
truthonly.com
truthonly.com
I've never really thought a quote from an Adam Sandler movie was one to be repeated, but "Mr. Madison, what you’ve just said is one of the most insanely idiotic things I have ever heard. At no point in your rambling, incoherent response were you even close to anything that could be considered a rational thought. Everyone in this room is now dumber for having listened to it. I award you no points, and may God have mercy on your soul." Bonus: it does double duty summarizing the US presidential debates.
> Biology is one of the last fields of science adopting the tech revolution by switching from analog to digital analysis. DNA has only recently been discovered. DNA sequencing is in its earliest stages.
> There is not enough space to fit “software” hereditary behavioral definitions into DNA. If Dwarf Fortress comes close to encoding basic behavioral patterns requiring 10 megabytes of data, we must look for a chunk of genetic data of that size.
> Good programmers try to restrict their functions to no more than 6 parameters when writing code. Thus, a driving system with learning ability depends on over 40,000 programmatic functions. Those functions operate with only a dozen of sensors, wheels, and breaks. What if you had to write self-learning software for controlling all the muscle groups in an ant organism? Clearly it would require much more than 790mb for a human or 117mb for an ant of data space to store.
> The “software” that runs the ant must include basic instincts, sensory recognition patterns, social interactions, spacial awareness, navigation routines, some learning ability, and threat estimation in its ancestral memory in addition to all the hardware schematics. Each muscle group must work in tandem with the senses. How much data would that amount of code require? An easy way to estimate it is to simulate those behaviors on your computer. Having some familiarity with multiple programming languages, I would guess that 117mb is totally insufficient for all that.
> If complex data compression is shown to play a major role in the life of an organism, my argument could be falsified. At the same time, the field of biology would be revolutionized.
> One might object that a negative proposition of the form “x does not explain y” is empirically indefensible. The form of my argument, however, follows another pattern: “there is not enough observable x in y.” Such statements are empirically demonstrable and empirically falsifiable. For example, the statement “there are fewer than 10 goats in this wood” is empirical. Just search the wood to confirm it. By analogy, we should expect at least as many discoveries of genes controlling behaviors as we have for protein generation and regulatory genes. But we do not.
Disclaimer: Have seen both the IT/CS and biotech side of things.
That said, there's an epidemic of know-it-all-ness in this industry, and this article doesn't pass even the most cursory of reviews of Real Information™. I agree that the analogy is commonplace, but the reason its an analogy and not a model is that it breaks down rapidly under scrutiny.
> Scientists have found some genetic code that contributes to hereditary behaviors, but the bulk of it is unlikely to ever be found. Why? Because it plainly does not fit.
This is plainly not true. We've found lots of evidence for the genomic basis of hereditary behaviors. See Genome-wide Complex Trait Analysis for example - plenty of statistical research is out there.
Is he arguing that Dwarf Fortress has codes for souls? Because I feel like his argument and example say exactly the opposite.
I am a bioinformatician with a genetics background. I've always had this abstract overview of DNA as a highly compressed dataset and geneticists are essentially trying to figure out the encoding.
The author has not shown that that much is required. At most, the author has shown that it has been done with that much. Seeing as having only thousands of states is apparently enough to make a Turing machine's behavior independent of ZFC (http://www.scottaaronson.com/blog/?p=2725), I really doubt this "10 megabyte" lower bound.
Obviously the author has completely misunderstood what is meant by "parameters" in this context. The parameters here are those of a neural network and thus they are a result of, not a precondition for the learning process. Instead, he should strictly use the implementation of the neural network for comparison, whose uncompressed human-readable size is probably going to be almost small enough to fill into his size constraints.
And that is assuming there is not a sufficiently good algorithm for learning animal behaviors that is much simpler than CNNs.
In general, the minimum number of bits/base-pairs required to encode some behaviour (i.e. the length of the shortest program which exhibits that behaviour) is uncomputable, see https://en.wikipedia.org/wiki/Kolmogorov_complexity
From an empirical point of view, evolution can't plan ahead and doesn't care about modularity (or at least, such things are higher-level effects which aren't directly selected for). It progresses via massively parallel monte carlo search, rather than "improving" a single individual. This is very different to most software development practices, and would tend to result in much more compact (genetic or computer) code.
The results of our software development practices are incredibly bloated compared to products of evolution. 10MB for an artifact like Dwarf Fortress is huge; we would likely make very significant gains if we compressed it using a superoptimiser (as long as we ignore petty issues like the heat-death of the Universe!).
The advantage our practices have over evolution by natural selection is that they're much faster. Our software is intelligently designed by programmers, who can think ahead about what features or changes might be useful and make specific, targetted changes to the code to bring them about. The redundancy, modularity, structure, separation-of-concerns, etc. which we strive for in our software facilitates this process.
Wikipedia says Dwarf Fortress has been around since 2002. Even if evolution were 'guided' towards such a thing, we would never expect it to come up with such a program in mere decades (although it can certainly make measurable optimisations, and small-but-important changes such as drug resistance).
You can test an information stream for entropy and you can also determine whether there is any entropy left in a compressed information stream.
So while I think we should certainly respect the accumulated wisdom and refinement that trillions of cell divisions have stored up over the eons, it's not obvious that "nature" has better compression than we do.
I don't think that measures the thing that needs to be measured here. Kolmogorov complexity is famously uncomputable; the output of a pseudo-random number generator will be high-entropy but "really" only contains a tiny amount of information (the initial seed).
And more to the point, DNA certainly contains more than 10MB of entropy; the claim is that most of this DNA is junk. Fair enough, but I expect the 10MB of DF code is also mostly junk: irrelevant details that the programmers were unnecessarily required to specify or the compiler picked out, rather than actually expressing the details of behaviour.
Barricelli was running experiments about digital organisms back in the early 50's right before the identification of the structure of DNA. Quite literally sharing time with atomic/hydrogen bomb calculations. I find it a bit tough to press onwards when sweeping statements like the above are made as a build up to the argument.
Each step of this compression is incredibly lossy and insanely tweaked towards good enough outcome.