
Originally Posted by
cjameshuff
Most production errors would either produce non-functional or impaired offspring, or have no effect on subsequent generations. Errors would have to occur in the software driving the machinery to produce the offspring, and software tends to be particularly brittle with respect to errors, as well as being quite easy to make extremely good at detecting and correcting errors...a corrupted program will most likely crash or produce completely non-working output, and it's not difficult to design error detection/correction into things so that the mean time between undetected errors is greater than the lifetime of the universe.
Now, you could design the machine to have a flexible genomic representation of its own structure that could be varied and combined with genetic information from other machines, or set up a bunch of self replicating machines to replicate themselves up to a point and then start running a genetic algorithm to produce self replicating offspring completely from scratch...the initial replicators basically taking the place of the tidal pools, mud pits, hydrothermal vents, and all the other places cooking up complex chemicals where life may have begun. You'd have to specifically design the machines to do this, though...just designing them to be capable of reproduction isn't enough.