flat assembler
Message board for the users of flat assembler.
Index
> Main > Mystery Sequence Contest Goto page Previous 1, 2 |
Author |
|
Tomasz Grysztar 06 Aug 2009, 14:36
Well, separate storage compression from data compression.
|
|||
06 Aug 2009, 14:36 |
|
vid 06 Aug 2009, 15:04
Quote: ...so the best of both worlds can be had And also the worst, particulary the rate by which data stored in DNA gets corrupted. |
|||
06 Aug 2009, 15:04 |
|
Azu 06 Aug 2009, 15:08
vid wrote:
|
|||
06 Aug 2009, 15:08 |
|
vid 06 Aug 2009, 16:48
Quote: Doesn't it just get corrupted when exposed to UV (or higher) radiation, and from (biological) viruses? If properly shielded, wouldn't this be preventable? It happens under normal conditions just as well - that is how mutations come to be, and how biological evolution works. Maybe you could create some artificial conditions under which corruption would be bearable (or maybe not), but then the existing reading/replicating mechanism would probably cease to work, so DNA would lost any advantage it has over other possible atomic-level structures. |
|||
06 Aug 2009, 16:48 |
|
Azu 06 Aug 2009, 16:52
vid wrote:
Oh well.. |
|||
06 Aug 2009, 16:52 |
|
pal 06 Aug 2009, 17:55
DNA mutation doesn't happen normally through an organisms life, otherwise evolution would be so much faster. Evolution happens over thousands of years where random mutations occur. Unless you are talking about telomeres being damaged?
|
|||
06 Aug 2009, 17:55 |
|
Azu 06 Aug 2009, 17:59
Wikipedia wrote: The telomeres are disposable buffers blocking the ends of the chromosomes and are consumed during cell division and replenished by an enzyme, the telomerase reverse transcriptase. |
|||
06 Aug 2009, 17:59 |
|
bitRAKE 07 Aug 2009, 03:53
If DNA was the answer we would have completely figured things out. It is more like the tape on a Turning machine - with the internal states and transition tables floating in the intracellular soup. Since the tape is read-only the internal state size grows exponentially.
The other thing important to nature is energy costs. Compression is only useful if it takes less energy on average. We might be tempted to imagine compression creating a functional advantage sufficient to offset additional energy costs. Yet, without the compression being an integral part from the beginning, how might such a dynamic take place? Maybe, through shifts in resource availability. DNA replication has an error rate of 10^-10. Protein synthesis has an error rate of 10^-4. Looks like we are all living with many mistakes. |
|||
07 Aug 2009, 03:53 |
|
Azu 07 Aug 2009, 08:28
It could still be useful for mass archival purposes where a few wrong bits here and there don't matter and low power consumption is a big plus.. how about uncompressed security camera footage?
|
|||
07 Aug 2009, 08:28 |
|
Borsuc 07 Aug 2009, 15:27
Azu wrote: I think nature compresses data pretty well already. Amoeba dubia, for example, have 670 billion base pairs (which are the equivilant of 1 or 2 bits each I think) in their genome.. in a single microscopic cell! 670 billion isn't that much, if each is 2 bits. It's just 167 GB. So we'll have to wait until we get 1TB on a flash drive or something. (since a flash drive is usually bigger than 'microscopic'). _________________ Previously known as The_Grey_Beast |
|||
07 Aug 2009, 15:27 |
|
Azu 07 Aug 2009, 15:36
Borsuc wrote:
Putting the same amount of stuff into a smaller space is the definition of compression! Borsuc wrote:
At 1TB the drive could only be as big as 6 cells to match the storage/space ratio. Also, I'm pretty sure no flash or disc drive could come close to the power efficiency. |
|||
07 Aug 2009, 15:36 |
|
r22 10 Aug 2009, 19:58
Code, generating the sequence one bit at a time using the fib # subtraction method (mentioned above before the thread got all off topic).
The code generates the fib #'s as needed, using the stack as an array. Code: format PE CONSOLE include 'win32ax.inc' NUM_BITS = 21 section '.text' code readable executable start: cinvoke printf,<'Sequence Bits 0..%d',13,10,0>,NUM_BITS-1 push NUM_BITS;bits to generate call GenBits cinvoke printf,<13,10,0> cinvoke system,"pause" invoke ExitProcess,0 GenBits: push ebp ebx esi edi mov edi,esp mov ebp,[esp+20];counter xor ebx,ebx ;bit count push 1 ;fib[1] push 1 ;fib[2] .lp: mov eax,ebx cmp ebx,1 jbe .good cmp eax,[esp] jl .skip_fib mov ecx,[esp] ;gen next fib# add ecx,[esp+4] push ecx .skip_fib: lea esi,[esp-4] .lp2: add esi,4 cmp eax,[esi] jl .lp2 sub eax,[esi] cmp eax,1 ja .lp2 .good: add eax,48 cinvoke printf,"%c",eax inc ebx cmp ebx,ebp jl .lp mov esp,edi pop edi esi ebx ebp ret 4 section '.data' data readable writeable dummy dd 0 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL',\ msvcrt,'MSVCRT.DLL' include 'API/kernel32.inc' include 'API/user32.inc' import msvcrt,\ system,'system',\ printf,'printf' |
|||
10 Aug 2009, 19:58 |
|
bitRAKE 20 Dec 2009, 09:33
|
|||
20 Dec 2009, 09:33 |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.