Hacker News new | past | comments | ask | show | jobs | submit login

Myers is attacking Kurzweil on the assumption that Kurzweil is actually proposing that the brain's structure should be reverse-engineesed from DNA, which would be intractably hard. Only Kurzweil isn't saying this anywhere. Instead, he seems to be using DNA as a measure for the amount of irreducible complexity that needs to go into a system that will end up with the complexity of a human brain.

Basically, we have no idea where we will get the AI source code we can actually do something with, but we have some reason to believe that the most concise version of the source code won't contain more data than the human genome.

The rough intuition might be if we wanted to simulate brain in the caricatured reverse-engineer-the-DNA way, we'd need an impossible computer that could simulate years worth of exact quantum-level physics in a cubic meter of space, but the human DNA and basic cellular machinery for hosting it would be the only seriously difficult bits to stick in there, the rest would just be simple chemicals and the impossibly detailed physics simulation.

I guess the analogy then is that we make the AI source code (which we don't know how to write yet), which is supposed to end up at most around the length of a human DNA, but which can run sensibly in existing hardware. Then, deterministic processing entirely unlike the immensely difficult-to-compute protein folding from DNA will make this code instantiate a working AI somewhere at the level of a newborn human baby, in the same way as the genome initiates protein-folding based processes that makes a single cell grow into a human baby given little more than nutrients and shelter from the external physical environment.

So it doesn't seem like a really strong statement of overoptimism. It's basically just saying that the human brain doesn't seem to require a mystifyingly immense amount of initial information to form, but instead something that can be quantified and very roughly compared with already existing software projects. I'd still guess it might take a little more than the ten years to come up with any sensible code with hope of growing into an AI though.




The argument Myers is making is that while the DNA might be the input to the system, the total amount of data in the system is that input plus the rules around how that input is interpreted/works. Those rules (for example around protein folding) are currently encoded in biological systems as the laws of physics, more or less, but they're insanely complicated and currently unknown.

So the point is that perhaps if you had a system that simulated all of the laws of physics exactly correctly such that proteins folded and interacted exactly right, only then could you get away with an amount of input equivalent to the amount of information encoded in the part of our DNA related to the brain.

Actually encoding those rules is probably the harder part of the problem, and could easily take several orders of magnitude more work. (10x? 1,000,000x? Who even knows).


1) An estimate of complexity is what it is - an estimate of complexity. It's not a claim that the way to achieve AI is to figure out the details of the particular encoding that nature ended up using, so the precise nature of those rules is not something we care about.

2) While it's true that those runtime rules (which we can kind of consider as the "interpreter" for our DNA) are extremely complex, this has almost zero bearing on the informational content in our DNA that is put towards creating the "intelligence algorithm", whatever that is. Sure, there's probably a bit of extra compression based on the fact that the physics allows some actions to be "built in", but unless you believe that DNA is physically optimized to make intelligent computer construction very concise, the logical content of these computations is probably explicitly "written" in.

And it's hard to believe that DNA is somehow specifically optimized for intelligence, because it was first used in completely unintelligent creatures and appears in exactly the same form now.

Now, it may be the case that DNA's physics are tailor-made to efficiently code for useful physical structures. But intelligence is a level of abstraction above that, and we're all but guaranteed that very little compressibility exists in the "language" for such higher level constructs.

What would an argument be without a strained analogy: if you're writing a complex web application, the size of your application is roughly independent (within an order of magnitude, for sure) of the architecture that it will ultimately run on (where by "size of application" I mean the size of everything that it takes to run it, interpreters, frameworks, etc.). Sure, the binary size might be slightly different depending on whether you're writing it for ARM, PPC, x86, etc., but not hugely different.

We would be extremely surprised if on three platforms your executable weighed in at 10 mb and on a fourth (which had a few different machine level instructions) it compiled down to 10 kb - the only way we could imagine that happening is if someone somehow "cheated" and embedded large parts of your actual application logic into the processor, adding specialized Ruby on Rails instructions to the machine code, or something like that. :)

Encoding and dynamics details may make differences in compressibility, but past an order of magnitude, you're really talking about "cheating", and it's an Occam's Razor problem to assume that nature optimized in such a way for intelligence...


I think the article's original point (and mine as well) was that considering the size of the code (i.e. the DNA) as a measure of the complexity of the task is totally disingenuous when you don't have (to use your analogy) the web server, the libraries you're calling, the parser/compiler/linker for the language, the operating system for the server along with its drivers/TCP stack/etc., the processor it runs on, the mother board, or the storage. In order to turn 10,000 lines of code into a web application, you need millions of lines of code (and Verilog or whathaveyou) in terms of infrastructure.

The problem for AI is not just encoding the DNA, as it were, it's in building all those other pieces around it. Estimating the complexity of building a software brain based on the amount of information in DNA is like estimating the complexity of building a web application using 1950's hardware. "It's only 10,000 lines of code! How hard can that be? All we have to do is write the code, plus the frameworks, programming language, and operating system, plus do all the hardware design."


It's only 10,000 lines of code! How hard can that be? All we have to do is write the code, plus the frameworks, programming language, and operating system, plus do all the hardware design.

Except that DNA doesn't even come close to being a high level language, since the low level details were not specifically designed for compressibility of the code (in fact, the low level details, the "bare metal ops", are pretty much fixed by the for-all-intents-and-purposes random laws of physics, which means we shouldn't assume that they enable any particularly high compressibility ratios for anything).

So a more apt comparison would be if we saw an assembly language program in some strange incomprehensible assembly language and said "It's only 10,000 lines of operations on the bare metal! Now all we have to do is figure out how the hell the system this runs on works, and how we can translate that code into a more sensible (and probably vastly more compact) form."

...which might even be a harder problem, to be fair.

Kurzweil's essentially proposed evidence of existence of an algorithm of length N that does whatever it is we mean by intelligence. Which is fine, and I think is probably correct (IMO, even his estimate about the minimal amount of code it would take is probably too high, though that's another story).

But he's overlooking the fact that the mere existence of such a compact algorithm doesn't help us find it at all, and I think a lot of the complaints others have made about his statements are more aimed at that leap of logic, not the existence claim itself. I completely agree that even brain scanning tech might not help us simulate the important bits very well, even if we did have access to that tech and computers fast enough to run the sims.


Good point. Not only that, but a case can be made that one cannot build such as system as an end stage.

Instead, it appears that ontogeny must recapitulate phylogeny. The system must develop over time as a result of inputs (and the remembered collection of past inputs encoded in the DNA). It would be as if in order to build Twitter with Ruby on Rails, you first had to program a tax calculation application in Cobol on a 1950s mainframe.


So it's a bit like a program, with sequences also selecting a different Turing machine? (which determines how that subsequence is interpreted.)

Because the Turing machine is selected entirely by the sequence (the protein folding caused by the laws of physics is selected entirely by the sequence), the number of possible results (the number of different shapes that could result) is limited to the number of different sequences. That is, the information in the phenome seems to be limited by the information in the genome.

If you think of it as a two part message, with the first part encoding a model, and the second part configuring it, then the DNA can be seen as the configuration, and the laws of physics as the model (which isn't actually coded anywhere like DNA - we'd have to write that ourselves.)

This model is constant over all life, so that DNA from all species (plants and animals) share the same "model" (laws of physics that cause protein folding etc.)

Another example of a two-part message is that the first part is a programming language, and the second part is a program written in that language. For a high level language (esp with libraries), it's obvious that a very short program might do an awful lot; but the true information content is not that program alone, but the total including the language and libraries it uses.

However, and this is my point, I don't believe that the laws of physics have been constructed so conveniently that provide as much assistance as a high level language with libraries. At most, nature may have stumbled onto hacks in physics (like surface tension, interfaces and gradients) and exploited them. Actually, given how long it took to get life started, perhaps it had to find a whole bunch of clever hacks (randomly recombining for billions of years over a whole planet) before it came up with a workable model (that is the model that DNA configure.)

hmmm... we might be able to estimate the information content of the 'model' by how many tries it took to come across it.


> That is, the information in the phenome seems to be limited by the information in the genome.

I think that is a very original use of the word 'limited', limited in this case holds enough room for random chance to come up with human beings.

For all practical purposes that 'limited' might as well be unlimited.


"Finite" would probably have been a better choice.

I have a micro SD card, smaller than my little-finger nail that holds 4GB - x8 more than the human genome (using the article's figure of 4 billion bits). And that's pretty much the lowest capacity you can buy. Yet, that amount of information is limited/finite: the possible states that that memory can hold is limited/finite.

BTW: I found the absurdist levity in the top 10 comments or so of reddit version of this thread a welcome relief - and also some penetrating insights, concisely put: http://www.reddit.com/r/science/comments/d24c8/ray_kurzweil_...


Just because underlying structure is simple, does not implies that the system is predictable. For example consider the three body problem, it has simple structure yet there are known limitations on our ability to predict its configuration at a later time in future.

Just because a system has a finite description does not means we can predict its behavior at later time!!

The systems such as our brains are extremely chaotic, and even if we were to simulate it and write programs to change its behavior by altering the underlying code bit by bit. It would be akin to moving butterfly wings to generate storms.

also analyzing such a large system would be "at least" an NP complete problem, Assuming we can even recognize a solution [compile and run a modified genome] in P.


Thing is, human DNA seems to grow into human babies most of the time, yet at molecular level the environment where it grows is a random, chaotic mess. The rough physical properties, like temperature, and the general chemicals around are stable, but beyond that things are constantly moving and sloshing around in a very unpredictable way.

The idea with the three-body problem is that after some time has passed, we have utterly no idea where the bodies have ended up. Ova don't grow into random jumbles of cells, most of the time they grow into babies.

It takes a lot of very specific information to grow into a baby instead of some entirely different arrangement of proteins. So either the environment needs to be feeding some rather specific controlling information that makes most ova grow into normal babies, or the cellular machinery itself has a system which compensates for external disturbances and constrains the design to mostly what the DNA directs it to be. As far as I understand biology, it's mostly the latter case.


Yes, but when we are talking about "programming brain" we are assuming that changing few base pairs would change the behavior / structure.

     Ova don't grow into random jumbles of cells, most of the time they grow into babies.

Exactly but can we change few base pairs and observe its effect? When we talk about reprogramming, we trying to figure out the cause and effect relationship, if a system is chaotic it is very difficult to figure out that relationship.

Three bodies don't mutate into 4 bodies or weather does not changes into an ice age in an instant, but at the same time we cannot reprogram weather by introducing small changes.


...we'd need an impossible computer that could simulate years worth of exact quantum-level physics in a cubic meter of space...

...it might take a little more than the ten years to come up with any sensible code with hope of growing into an AI though...

Dude, you are all over the map.

... he seems to be using DNA as a measure for the amount of irreducible complexity that needs to go into a system that will end up with the complexity of a human brain.

At best, you could say it's a measure of the amount of irreducible complexity for an encoding of the required proteins. We don't seem to have a measure of the system, by which I mean the thing that models the relationships and interactions of the proteins (and their components) with each other and their environment.


"Instead, he seems to be using DNA as a measure for the amount of irreducible complexity that needs to go into a system that will end up with the complexity of a human brain."

And Myers is saying that DNA is a such a woefully inadequate measurement of complexity that it barely counts as wrong.


  he seems to be using DNA as a measure for the amount of 
  irreducible complexity that needs to go into a system that
  will end up with the complexity of a human brain.
Before an Irreducible Complexity crackpot uses that argument: this complexity is of course not irreducible. It just takes millions of years and the reproduction of the exact mutations and variations in circumstances to reproduce it exactly. A shorter time period, different mutations and circumstances could lead to something akin to this amount of complexity.


Myers is attacking Kurzweil on the assumption that Kurzweil is actually proposing that the brain's structure should be reverse-engineesed from DNA, which would be intractably hard. Only Kurzweil isn't saying this anywhere. Instead, he seems to be using DNA as a measure for the amount of irreducible complexity that needs to go into a system that will end up with the complexity of a human brain.

This is like saying that the underlying complexity of the Mandelbrot is the set of pairs of real numbers.


Since, going by your analogy, we're talking about how hard it is to build a machine that will draw us the Mandelbrot set, isn't that exactly the point?


If, by "draw us the Mandelbrot set" you mean the whole set, and not tiny, low-resolution approximations of the set then yes.


Form my limited understanding, it's simpler than it appears. It's a wire routing problem. Each neuron "knows" where it is going based on the proximity of its fellows, just as other cells know to become a liver based on who their neighbors are. Given a nascent brain, it is trained into an intelligence by external input. Neurons are pruned and connections strengthened.

As I see it, a significant problem is designing a substrate in silicon, or whatever, that has the requisite complexity. I would not be too surprised to find out that the layout program for an AI is not too different in complexity from today's largest software projects.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: