flat assembler
Message board for the users of flat assembler.

Index > Main > Mystery Sequence Contest

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 06 Aug 2009, 14:36
Well, separate storage compression from data compression. Wink
Post 06 Aug 2009, 14:36
View user's profile Send private message Visit poster's website Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu 06 Aug 2009, 14:38
Storage compression works equally well for everything.. data compression only works with predictable patterns.. so storage compression is better. Idea

Also, there's nothing stopping compressed data from being stored in a double helix, anyways, so the best of both worlds can be had. Cool
Post 06 Aug 2009, 14:38
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
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.
Post 06 Aug 2009, 15:04
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu 06 Aug 2009, 15:08
vid wrote:
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.
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?
Post 06 Aug 2009, 15:08
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
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.
Post 06 Aug 2009, 16:48
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu 06 Aug 2009, 16:52
vid wrote:
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.
Oops. I didn't know that happened constantly throughout an organism's lifetime, I thought it was just during early development. Sad


Oh well..
Post 06 Aug 2009, 16:52
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
pal



Joined: 26 Aug 2008
Posts: 227
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?
Post 06 Aug 2009, 17:55
View user's profile Send private message Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
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.
Doesn't sound to me like information is lost from that.. maybe they would work afterall? Very Happy
Post 06 Aug 2009, 17:59
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4024
Location: vpcmpistri
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. Very Happy
Post 07 Aug 2009, 03:53
View user's profile Send private message Visit poster's website Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
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?
Post 07 Aug 2009, 08:28
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2465
Location: Bucharest, Romania
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! Shocked
That's not compression, it's just miniaturization, or like you call it, "storage compression".

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'). Razz

_________________
Previously known as The_Grey_Beast
Post 07 Aug 2009, 15:27
View user's profile Send private message Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu 07 Aug 2009, 15:36
Borsuc wrote:
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! Shocked
That's not compression, it's just miniaturization, or like you call it, "storage compression".
Get a dictionary.

Putting the same amount of stuff into a smaller space is the definition of compression!

Borsuc wrote:
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! Shocked
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'). Razz


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.
Post 07 Aug 2009, 15:36
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
r22



Joined: 27 Dec 2004
Posts: 805
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'

    
Post 10 Aug 2009, 19:58
View user's profile Send private message AIM Address Yahoo Messenger Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4024
Location: vpcmpistri
bitRAKE 20 Dec 2009, 09:33
Post 20 Dec 2009, 09:33
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.