| |
 |
|
|
Science Forum Index » Compression Forum » Probability, compressible sequences: Backgrounds
Page 1 of 1
|
| Author |
Message |
| Thomas Richter |
Posted: Fri Mar 07, 2008 4:05 am |
|
|
|
Guest
|
Hi folks,
since there was enough noise in this group once again, I afraid much
noise is caused simply because people do not use adequate definitions
for the subjects to be discussed here, and it's time to clean up the
mess. Folks, before you discuss, please get some background, really,
even if it only helps to reduce the noise level here.
A "specific sequence" cannot be random. And as such, as long as you know
your sequence, you can compress it. Actually, to zero bit, as you know
what you're talking about, so there's no point in transmitting it in
first place. "Entropy" and "compressibility" are statements that are not
defined on *specific* sequences, or on "subsequences of specific
sequences", but only on *random processes*. A *process* is something
different than a *sequence*.
By that I mean that, in order to define the terms, I need to have a
device (probably a coin) that generates symbols (head or tail) by an
external trigger (me, dropping the coin). I can measure the relative
frequencies of the symbols, and for a well defined random process, I
must ensure that these frequencies converge to probabilities as the
number of experiments grows to infinity. *This is nothing you can
prove*. It is an assumption you have to make about your device to have
the theory make some sense.
Second, compressibility does not speak about "compressing sequence A or
B". It speaks about "compressing sequences on average generated by a
random device as above". That means, operationally, you run a long
sequence of experiments, using the same device, understanding that it
doesn't change its statistics, and feed the output of each experiment
(each of which generating a lot of symobls) into your compression
algorithm. The *average* (expected) output length of your compression
algorithm, divided by the number of input symbols, is the
"compressibility" - *OF THE RANDOM PROCESS*. Note that I'm not talking
about a specific sequence, this doesn't make sense.
The reason why "compressors work", or rather, the philosophy behind
them, is to model (or rather "misunderstand") the input sequence "as if"
it had been generated by a random process, and build a compressor that
works well *on this* random process. Not on any *specific* sequence.
Second misunderstanding: "RAD" or "random process" does not imply that
the probabilities of all symbols of the random process are equal. That
is, in fact, the boring case as it is easy to show that you cannot
compress this (i.e. for any compression device, the *average* output
length is equal to the input size, taking the number of experiments and
the size of the sequence to infinity). Furthermore, in no way the
probability of the next symbol need to be independent of the symbols
before (i.e. there is no need for the process to be memory-less). This
is again the "boring case". Compressors work because they model the
input source by a random process that *does* have memory. And this is a
good model for text, language, programs, images... "Good" as in "it does
work". We "do not have" a random device that generates symbols *exactly*
as in text/speech/images... etc. But "it's close enough for the purpose
of compression to assume it" - that is, "a model".
Going back to the original statement: It would help a lot if, before you
would start discussing, you would start from a proper definition of
words. I'm not saying that the above one is the "only" or "correct" one,
but a lot of noise here could have been avoided if you would have stated
clearly what you're talking about.
Thanks for reading,
Thomas |
|
|
| Back to top |
|
| Industrial One |
Posted: Fri Mar 07, 2008 6:58 am |
|
|
|
Guest
|
On Mar 7, 1:05 am, Thomas Richter <t...@math.tu-berlin.de> wrote:
Quote: Hi folks,
A "specific sequence" cannot be random. And as such, as long as you know
A specific sequence can be random-appearing.
Quote: your sequence, you can compress it. Actually, to zero bit, as you know
Not really... if the sequence is random-appearing, without redundancy/
patterns, how do I compress it to zero bit?
Quote: Second misunderstanding: "RAD" or "random process" does not imply that
the probabilities of all symbols of the random process are equal. That
is, in fact, the boring case as it is easy to show that you cannot
compress this (i.e. for any compression device, the *average* output
length is equal to the input size, taking the number of experiments and
the size of the sequence to infinity). Furthermore, in no way the
probability of the next symbol need to be independent of the symbols
before (i.e. there is no need for the process to be memory-less). This
is again the "boring case". Compressors work because they model the
input source by a random process that *does* have memory. And this is a
good model for text, language, programs, images... "Good" as in "it does
work". We "do not have" a random device that generates symbols *exactly*
as in text/speech/images... etc. But "it's close enough for the purpose
of compression to assume it" - that is, "a model".
I don't see how these descriptions satisfy those common
characteristics of RAD. Unless the approximate 50:50 strings really
make up a majority of all possible combos of size N. |
|
|
| Back to top |
|
| Thomas Richter |
Posted: Fri Mar 07, 2008 1:17 pm |
|
|
|
Guest
|
Industrial One schrieb:
Quote: On Mar 7, 1:05 am, Thomas Richter <t...@math.tu-berlin.de> wrote:
Hi folks,
A "specific sequence" cannot be random. And as such, as long as you know
A specific sequence can be random-appearing.
I don't know what this should be. It's a non-standard term, and, as you've seen
from all the discussions, it's ill-defined. What "appears" random is in the
eye of the beholder. I don't care, and neither does a compression algorithm.
It applies a model to a sequence, but whether this sequence compresses well
or not is not a question of whether it appears random or not, but whether
it fits to the statistical model of the compressor. The question is, is
this a typical sequence for the random model you imply. *That* is a useful
definition.
Quote: your sequence, you can compress it. Actually, to zero bit, as you know
Not really... if the sequence is random-appearing, without redundancy/
patterns, how do I compress it to zero bit?
Entropy and compression is about communication channels. If you know the sequence,
you don't need to communicate it from somewhere, you just write it down. Your
information channel requires exactly zero bits of capacity to do that, so it's
compressed down to zero.
Quote: Second misunderstanding: "RAD" or "random process" does not imply that
the probabilities of all symbols of the random process are equal. That
is, in fact, the boring case as it is easy to show that you cannot
compress this (i.e. for any compression device, the *average* output
length is equal to the input size, taking the number of experiments and
the size of the sequence to infinity). Furthermore, in no way the
probability of the next symbol need to be independent of the symbols
before (i.e. there is no need for the process to be memory-less). This
is again the "boring case". Compressors work because they model the
input source by a random process that *does* have memory. And this is a
good model for text, language, programs, images... "Good" as in "it does
work". We "do not have" a random device that generates symbols *exactly*
as in text/speech/images... etc. But "it's close enough for the purpose
of compression to assume it" - that is, "a model".
I don't see how these descriptions satisfy those common
characteristics of RAD. Unless the approximate 50:50 strings really
make up a majority of all possible combos of size N.
Then probably your definition of "random" is screwed. (-:
So long,
Thomas |
|
|
| Back to top |
|
| Industrial One |
Posted: Fri Mar 07, 2008 1:52 pm |
|
|
|
Guest
|
On Mar 7, 10:17 am, Thomas Richter <t...@math.tu-berlin.de> wrote:
Quote: I don't know what this should be. It's a non-standard term, and, as you've seen
from all the discussions, it's ill-defined. What "appears" random is in the
eye of the beholder. I don't care, and neither does a compression algorithm.
It applies a model to a sequence, but whether this sequence compresses well
or not is not a question of whether it appears random or not, but whether
it fits to the statistical model of the compressor. The question is, is
this a typical sequence for the random model you imply. *That* is a useful
definition.
I'm astounded that "random appearing" is such an alien concept around
this joint. There SHOULD be a precise definition as it's a commonly
recognized characteristic used in many fields (e.g verifying
ciphertext strength in cryptography). And since you have more credible
expertise than I do, you should already have some clue. The only
keywords that I can think of right now are: Kolomogrov Complexity. I
never looked it up but saw it many times in the context of identifying
RAD, so if I'm right: if a sequence passes the K-Complexity test, then
it's viable?
The only definitions I got in mind are: a 50:50 bit distribution
(faulty because the data can contain sorted 0s and 1s that can easily
be compressed.) And a random sequence should not repeat the same byte
value until the other bytes have appeared proceedingly, in the case
that it does, it should not repeat the third time until about 510 more
rounds.
Again, faulty and not 100% accurate (just like random data does not
always contain exactly as many 0s and 1s) not to mention that several
compressible permutations fit that description.
If I provide 5 examples of random-appearing files, would that be a
qualifiable definition for you?
http://www.zshare.net/download/8619286370d491/
Go ahead, compress 'em if you can.
Quote: your sequence, you can compress it. Actually, to zero bit, as you know
Not really... if the sequence is random-appearing, without redundancy/
patterns, how do I compress it to zero bit?
Entropy and compression is about communication channels. If you know the sequence,
you don't need to communicate it from somewhere, you just write it down. Your
information channel requires exactly zero bits of capacity to do that, so it's
compressed down to zero.
What about personal storage with the option of communicating it? Those
20 KB files for example. I can write 'em down on a piece of paper, but
then that takes up exponentially more physical space than 20,000 bytes
on a magnetic disk. I gain nothing, and whether or not I intend to
distribute that file, it still takes up 20,000 bytes on my disk. And I
can't reduce it because it's random-appearing, it has no patterns or
redundancy, so how would I compress it?
Quote: Second misunderstanding: "RAD" or "random process" does not imply that
the probabilities of all symbols of the random process are equal. That
is, in fact, the boring case as it is easy to show that you cannot
compress this (i.e. for any compression device, the *average* output
length is equal to the input size, taking the number of experiments and
the size of the sequence to infinity). Furthermore, in no way the
probability of the next symbol need to be independent of the symbols
before (i.e. there is no need for the process to be memory-less). This
is again the "boring case". Compressors work because they model the
input source by a random process that *does* have memory. And this is a
good model for text, language, programs, images... "Good" as in "it does
work". We "do not have" a random device that generates symbols *exactly*
as in text/speech/images... etc. But "it's close enough for the purpose
of compression to assume it" - that is, "a model".
K.
Quote: I don't see how these descriptions satisfy those common
characteristics of RAD. Unless the approximate 50:50 strings really
make up a majority of all possible combos of size N.
Then probably your definition of "random" is screwed. (-:
Correct me if I'm wrong, then. |
|
|
| Back to top |
|
| Pasi Ojala |
Posted: Fri Mar 07, 2008 10:53 pm |
|
|
|
Guest
|
On 2008-03-07, Industrial One <industrial_one@hotmail.com> wrote:
Quote: I'm astounded that "random appearing" is such an alien concept around
this joint.
It is not alien, it is just useless.
You don't take a specific file and determine how it can be compressed.
That is useless, because you would have to send the decompressor
with the file to be able to decompress it.
You decide what kind of files you want to compress (the
"interesting files"), create a model of this subset of files,
then create the compressor/decompressor. Only after that you take
the a file and compress it. If the file belongs to the subset
of interesting files that the compressor was designed for,
the file will compress. If it does not, the file expands
by at least one bit.
The ratio of "interesting files" to all files is so small,
that if you feed every possible file to any compressor, on
average the results will be larger than the original file.
If you "take a random file", i.e. use a random-number
generator to create a file, it is very,very,very,very
unlikely you get one of the "interesting files".
Fortunately, the "interesting files" are those that we really
want to compress.
Quote: if a sequence passes the K-Complexity test, then it's viable?
The problem with Kolmogorov-complexity is that you can't prove
its' lower limit. You can create the smallest program you can
to create the sequence, but you can't prove that it is the
smallest possible.
Quote: The only definitions I got in mind are: a 50:50 bit distribution
(faulty because the data can contain sorted 0s and 1s that can easily
be compressed.)
Yes, a good compressor will compress a tiny fraction of any files.
That does not mean you didn't pick the file randomly. Compression
is all about the interesting files, and a file picked by random
can be one of them. But really, you did not actually pick that
"sorted 0s and 1s" file randomly, did you? You just took that
file as an example of a file that can be compressed.
But why don't you pick the file actually randomly and show that
is can actually be compressed?
You can create a compressor that compresses any file you want to
1 bit and expands all other files by one bit. You can create a
compressor that compresses any 255 files you want to one byte
and expands all other files by one byte. But that is generally
useless, because all that matters are those "interesting files".
Quote: And a random sequence should not repeat the same byte
value until the other bytes have appeared proceedingly
If you have this requirement, the file is not random!
It is a concatenation of randomly permutated 256-byte sequences.
My specific compressor can compress them to 3 bits (and it also
only expands other files by 3 bits). You only need to have my
decompressor to decompress the resulting files, but that applies
to all compressors, right?
-Pasi
--
/'What can't be changed must be endured.'
Lini used to say that all the time./
-- Elayne in The Wheel of Time:"Lord of Chaos" |
|
|
| Back to top |
|
| Guest |
Posted: Sun Mar 09, 2008 12:55 pm |
|
|
|
|
On 7 Mar, 09:05, Thomas Richter <t...@math.tu-berlin.de> wrote:
Very good explanation!
Thank you Thomas.
But let me try to explain my different point of view.
Quote: Hi folks,
since there was enough noise in this group once again, I afraid much
noise is caused simply because people do not use adequate definitions
for the subjects to be discussed here, and it's time to clean up the
mess. Folks, before you discuss, please get some background, really,
even if it only helps to reduce the noise level here.
Yes, it can be better but to obtain this result you wrote down 100
lines!
Quote:
A "specific sequence" cannot be random. And as such, as long as you know
your sequence, you can compress it. Actually, to zero bit, as you know
what you're talking about, so there's no point in transmitting it in
first place.
In the compressed sequence you need to insert also the decompressor
otherwise it is trivial.
How can you compress a specific sequence wthin the decompressor to
zero?
Quote: "Entropy" and "compressibility" are statements that are not
defined on *specific* sequences, or on "subsequences of specific
sequences", but only on *random processes*. A *process* is something
different than a *sequence*.
I think it is possible ( not only possible but I think it is the only
way ) to speak about "Entropy" and "compressibility" about sequence
indipendently from processes.
Quote:
By that I mean that, in order to define the terms, I need to have a
device (probably a coin) that generates symbols (head or tail) by an
external trigger (me, dropping the coin). I can measure the relative
frequencies of the symbols, and for a well defined random process, I
must ensure that these frequencies converge to probabilities as the
number of experiments grows to infinity. *This is nothing you can
prove*. It is an assumption you have to make about your device to have
the theory make some sense.
Second, compressibility does not speak about "compressing sequence A or
B". It speaks about "compressing sequences on average generated by a
random device as above". That means, operationally, you run a long
sequence of experiments, using the same device, understanding that it
doesn't change its statistics, and feed the output of each experiment
(each of which generating a lot of symobls) into your compression
algorithm. The *average* (expected) output length of your compression
algorithm, divided by the number of input symbols, is the
"compressibility" - *OF THE RANDOM PROCESS*. Note that I'm not talking
about a specific sequence, this doesn't make sense.
The reason why "compressors work", or rather, the philosophy behind
them, is to model (or rather "misunderstand") the input sequence "as if"
it had been generated by a random process, and build a compressor that
works well *on this* random process. Not on any *specific* sequence.
Second misunderstanding: "RAD" or "random process" does not imply that
the probabilities of all symbols of the random process are equal. That
is, in fact, the boring case as it is easy to show that you cannot
compress this (i.e. for any compression device, the *average* output
length is equal to the input size, taking the number of experiments and
the size of the sequence to infinity). Furthermore, in no way the
probability of the next symbol need to be independent of the symbols
before (i.e. there is no need for the process to be memory-less). This
is again the "boring case". Compressors work because they model the
input source by a random process that *does* have memory. And this is a
good model for text, language, programs, images... "Good" as in "it does
work". We "do not have" a random device that generates symbols *exactly*
as in text/speech/images... etc. But "it's close enough for the purpose
of compression to assume it" - that is, "a model".
Going back to the original statement: It would help a lot if, before you
would start discussing, you would start from a proper definition of
words. I'm not saying that the above one is the "only" or "correct" one,
but a lot of noise here could have been avoided if you would have stated
clearly what you're talking about.
Thanks for reading,
Thomas
I try to reassume your point of view let me know if I misunderstand.
You say that speaking about random sequence is nonsense, you need to
define the process and if the process is random the sequence produced
by the process will be random indipendently from the compressibility
of its serquences.
How can you define a random process?
A coin is a random process? Why?
You use a random process as hypothesis and then using this hypothesis
you define the sequence as random .
You can say ok this sequence is the result of a coin so we know this
is a random process and the sequences will be random but you need to
know that the process is random and to know a process is random you
need to analize its sequences ( yes there are other ways but ...) !
We know the coin flipping is a random process becouse in the past we
analize its sequences and we understand is it about impossible to
predict its result and the sequence is incompressbile.
For this reason I go in the opposite direction I claim that the only
way to define a random process is to identify its sequences as
random , not compressible.
Using the coin as device you can create a random process becouse this
process produce not compressible sequences.
Now you can try to flip a coin and you can give me a sequence
absolutely compressible and claim that it is random.
Using the compressibility principle I must say that process is not
random and this is a mistake but if you know only that sequence the
best claim possible is that the process is not random !
To say that the sequence is random you need to identify its process as
known random process and then you can give the correct answer , but
you need to know a lot of data , more than the amount of the sequence.
For these reason I say we can speak about random sequence, becouse the
only way to identify a process as random is to watch at its sequences.
For these reason I say we don't need to know the process to speak
about random.
And for these reason I claim
Random data is incompressible by definition!
Thank you, Denis. |
|
|
| Back to top |
|
| Guest |
Posted: Sun Mar 09, 2008 3:43 pm |
|
|
|
|
Hy Thomas;
I'm going to put my additional notes in relation to the responses
here, I don't think it's about arguing, it's about learning ...
Quote: A "specific sequence" cannot be random. ... A *process* is something
different than a *sequence*.
That is because a "specific sequence" is obviously bound to a context
(it's _specific_), and it is known - otherwise you could hardly speak
of a sequence, as well as speak about random.
You do NOT know if an "unknown sequence" or a "specific unkown" is in
fact "random", or produced by a "random process" - actually "unknown"
means "you do not know", and "known" means "you know at least
somehing" about it.
You do NOT know something about something you do not know something
about. It sounds crazy, but this seems the basic thing not understood
here.
So obvious it does not make sense to have a look at a "specific
sequence" to verify your knowledge about the entity producing it (do
we try to decypher the _words_ of humans to understand humans, or do
we look into the _brain_ producing these words to understand why they
are produces as they are?), and without "understanding" the entity you
are actually not able to "understand" any additional output/message of
that entity.
In short, if you concentrate on compressing "specific sequences", you
will never be able to compress anything else, except by pure chance.
Only if you start to make assumptions about the producing entity you
will be able to "predict" the behaviour/characteristic of other
messages/sequences, those you've never seen before, and maybe never
will. So it's maybe now more easy to realize that a _model_ is not at
all a _model of specific sequences_, it is a _model of a process_
creating an undefined amount of "specific sequences" of _unknown_
characteristic, but with _assumed_/_predicted_ characteristic.
You can only assume something in a context, you can assume that a sky
is blue if you see the sun. This assumption isn't highly effective, if
we add the time of the day it get's more effective, if we add the
location on the planet more, and so on and so on. You maybe see, we
are describing the process of interaction of sun, weather, earth, and
all the things involved. The more specific the context, and the more
contexts we add to our model, the better we describe the process ...
and the bigger and more complicated becomes the model!
Model-complexity is synonymous with "entropy", if the model becomes
overly complicated it may require more parameters to describe the
difference between a "specific sequence" and the "assumed sequence"
under that model. Something "random appearing" could be said is
something "not understood", or "too complicated to be described
shorter than itself" and also "something we assumed too much about".
Assumptions end up in the model and it's description, verifications
end up in the transformed message. The more you assume, the bigger
becomes the model, and the smaller the transformed message that would
verify perfectly under that model. _All other messages become longer_,
it's a bit like the euclidian distance in a spherical point-cloud: the
nearer you move yourself near a "specific" point, the more far away
you move away from (at least half of) "all the other" especially, and
(at least half of) "all possible other" effectively. The question in
modeling processes is: is it worth to assume more and fail more, or
should we assume less and fail less?
Quote: The reason why "compressors work", or rather, the philosophy behind
them, is to model (or rather "misunderstand") the input sequence "as if"
it had been generated by a random process, and build a compressor that
works well *on this* random process. Not on any *specific* sequence.
And that is what it is all about, optimizing the ratio between
failure and success of describing a message under a model (aka.
context). If you cannot understand a message it's useless to build a
model, you only add up to which degree you _do not understand_ that
message, to the message.
And that is the property which every Joe Smith names "random", and
the root of all evil, and the enemy to beat, and the point of proof of
geniality. Please understand that there is no point in trying to
"compress random messages", everybody smiles about the flys circling
the lamp in the night, how much they misunderstand the situation.
There is only a point in trying to model messages in a real-world
context, under a real-world assumption, expressed in real-world bits
or hieroglyphs, through a real-world channel. Hell, if a message does
not make any sense to you or anybody else, just leave it alone, and do
not waste your life trying to model it.
A personal note in the context of this about SETI: I do not see a
single value in SETI, the number of assumption that have to be made,
just to "understand" a single message coming from the stars, is so
terrible huge, that it's just as if you build a decompressor, that can
just decompress a single file. And you don't know which or where the
compressed message is.
Well and at the end as disclaimer: I'm not saying that the above one
is the "only" or "correct" one, or that this _metaphor_ withstands a
theoretic informatic verification, or even describes a hard truth.
It's a little tale for the big kids, with lots of images and less less
complicated text.
Quote: Thanks for reading,
Thomas
I wonder what caused your reaction - some thread I missed?
Ciao
Niels |
|
|
| Back to top |
|
| Industrial One |
Posted: Sun Mar 09, 2008 5:34 pm |
|
|
|
Guest
|
|
| Back to top |
|
| Guest |
Posted: Sun Mar 09, 2008 10:30 pm |
|
|
|
|
Pardon:
Quote: Model-complexity is synonymous with "entropy"
Model-efficiency is synonymous with "entropy" |
|
|
| Back to top |
|
| Thomas Richter |
Posted: Mon Mar 10, 2008 2:51 am |
|
|
|
Guest
|
a.denis1@yahoo.com schrieb:
Quote: A "specific sequence" cannot be random. And as such, as long as you know
your sequence, you can compress it. Actually, to zero bit, as you know
what you're talking about, so there's no point in transmitting it in
first place.
In the compressed sequence you need to insert also the decompressor
otherwise it is trivial.
How can you compress a specific sequence wthin the decompressor to
zero?
Within the given framework (random processes) including the decompressor
is not "necessary". This is because all this theory talks about is the
limiting case of infinitely long sequences generated by a random
process. This means that the "overhead" of including the decompressor -
a limited sized program - is zero. You can do it, but it doesn't change
the entropy. You're probably talking about Kolmogorov-complexity, i.e.
the shortest sized program generating a given sequence, which is quite a
different view.
Quote: "Entropy" and "compressibility" are statements that are not
defined on *specific* sequences, or on "subsequences of specific
sequences", but only on *random processes*. A *process* is something
different than a *sequence*.
I think it is possible ( not only possible but I think it is the only
way ) to speak about "Entropy" and "compressibility" about sequence
indipendently from processes.
As long as we're talking about finite sequences, no - it is an
ill-defined concept. For infinite sequences, one can take a
probabilistic view-point - talking about "random" sequences generated by
a random process - or a complexity viewpoint - considering the shortest
program (running on a Turing machine) generating the sequence. In both
cases, the choice of the "programming language" and the "machine" does
not matter - it is an additional constant that diminishes in the limit.
Otherwise, I can always construct a suitable finite state that generates
the given finite sequence with "no program" whatsoever. Or I can
consider the size of the machine as "size of the program", which then
also depends on the representation. No matter how you put it, it is
ill-defined.
Quote: I try to reassume your point of view let me know if I misunderstand.
You say that speaking about random sequence is nonsense, you need to
define the process and if the process is random the sequence produced
by the process will be random indipendently from the compressibility
of its serquences.
No. What I want to say is that *processes* can be random or not.
"Randomness" is nothing that can be applied to *sequences*.
Quote: How can you define a random process?
It is an abstract model - a thing that generates symbols "on demand"
where, given all symbols you know, the next symbol can be only predicted
with limited success - or rather, the next symbol appears with a
probability depending on the internal state of the machine. For some
random processes, you know this state ("Markov processes"), there are
also others where you don't ("Hidden Markov") but still assume certain
characteristics.
Quote: A coin is a random process? Why?
Within a suitable abstraction, the outcome of a coin experiment can be
described *as if* it comes from a random process.
Quote: You use a random process as hypothesis and then using this hypothesis
you define the sequence as random .
I'm not using the coin experiment to define what a random process is. It
is an example of an experiment that can be successfully described by a
random process - this is a difference. One can never prove that a coin
*is* a random process, it is just a very reasonable assumption. For
that, an infinite number of experiments has to be made, and we need to
show convergence, etc.. which cannot be done by a physical process for
obvious reasons. A random process is as much a model for reality as "an
electron" is a model for a certain aspect of reality. It allows you to
derive certain results, always hoping that the implicit assumptions you
put into the model fits well to reality, and thus obtaining results that
fit to reality.
Quote: You can say ok this sequence is the result of a coin so we know this
is a random process and the sequences will be random but you need to
know that the process is random and to know a process is random you
need to analize its sequences ( yes there are other ways but ...) !
No - exactly not. See above - what I say is that a random process (an
abstract thing!) is a good model for the coin experiment.
Quote: We know the coin flipping is a random process becouse in the past we
analize its sequences and we understand is it about impossible to
predict its result and the sequence is incompressbile.
I don't think "we know". As always in physics, it's an incomplete
induction. One can *assume* it is suitably precisely modeled by a random
process and *hope* that results derived this way are fine. Actually,
experience shows that it is, yes.
Quote: For this reason I go in the opposite direction I claim that the only
way to define a random process is to identify its sequences as
random , not compressible.
Unfortunately, this cannot be put in a way that makes sense, see above.
Quote: Using the coin as device you can create a random process becouse this
process produce not compressible sequences.
Now you can try to flip a coin and you can give me a sequence
absolutely compressible and claim that it is random.
If I use a biased coin, the sequence generated by a coin experiment will
very well be compressible, but it is still random. Even a loaded dice
generates random sequences. (More precise: "A zero-order random process
modeling the biased coin does not have maximum entropy"). Just that the
probabilities aren't all equal, but that doesn't change the theory.
Actually, the only reason why we use compressors is that we model data
by random processes whose probability metric is *not* uniform.
Quote: Using the compressibility principle I must say that process is not
random and this is a mistake but if you know only that sequence the
best claim possible is that the process is not random !
To say that the sequence is random you need to identify its process as
known random process and then you can give the correct answer , but
you need to know a lot of data , more than the amount of the sequence.
Of course "knowing a process" is a lot more than "knowing one of its
outcomes". That's exactly the point why "processes" are compressible or
not, not "outcomes". And that's exactly the reason why all working
compressors can only compress a *tiny* amount of sequences, namely those
that are outcomes of random processes used for defining the compressor.
Quote: For these reason I say we can speak about random sequence, becouse the
only way to identify a process as random is to watch at its sequences.
Nope. It's ill-defined - you can only watch finite limited sequences.
From that, one cannot conclude (logically) anything about an infinite
amount of sequences. It's an incomplete induction and doesn't make sense
logically.
Quote: For these reason I say we don't need to know the process to speak
about random.
And for these reason I claim
Random data is incompressible by definition!
Nope. It's easy to construct random sequences that are compressible. See
above, the "typical" outcome of a loaded dice will very well be
compressible, yet it's random.
Again, please get your concepts cleaned up. Your interpretation of
"random" cannot be put into a strict definition - it doesn't make sense.
So long,
Thomas |
|
|
| Back to top |
|
| Thomas Richter |
Posted: Mon Mar 10, 2008 3:03 am |
|
|
|
Guest
|
Industrial One schrieb:
Quote: hehe, Thomas got owned.
Niels is just extending the discussion to a higher level, a very valid
one, of course. I haven't intended to extend this to a philosophical
level, but rather to a mathematical level (where I personally have more
experience with and thus stand on firmer ground).
Background on my side is that I'm getting a bit bored by the above
discussion - too many people just misunderstand each other by using
terms or concepts that haven't been introduced properly. I'm not saying
that my definition (or the scientific accepted one, not saying that the
two must agree completely) is the only acceptable one. What I'm saying
is rather that a lot of useless noise would have been avoided if people
would have specified the terms properly. Apparently, "random" seems to
be such a term.
Recommended reading: Donald Knuth, "The Art of Programming", Vol. 2,
"Numerical and Semi-numerical Algorithms". The entire first half of the
book gives a good discussion on "random sequences" (for whatever this
means).
So long,
Thomas |
|
|
| Back to top |
|
| Guest |
Posted: Tue Mar 11, 2008 1:26 pm |
|
|
|
|
OK.
I misunderstood you are talking about abstract model and not about
physical experiments so I agree with you in about all the parts of
your reply .
Your definition of random is well defined becouse we can know if we
are in random domain or not without uncertainty .
My definition stay in a more practical domain and never give you
certainty ( as I mentioned is possible to make miskate in the
prevision ) but it give to you how much you can believe and you can
not do something better.
I think we can not remove terminology "random" outside mathematical
abstract field becouse we need it.
We need to know how much we can make prevision and if we can make
prevision , this is what random means and we can work starting only on
finite data .
We can also starting from data , choosing an abstract model and here
we can reasoning about Randomness with big "R" without uncertainty but
what we do here is only to move the uncertainty into the model
choosing phase , we are never sure to choose the correct model so at
the end we have the same uncertainty.
Quote:
It allows you to
derive certain results, always hoping that the implicit assumptions you
put into the model fits well to reality, and thus obtaining results that
fit to reality.
If I use a biased coin, the sequence generated by a coin experiment will
very well be compressible, but it is still random. Even a loaded dice
generates random sequences. (More precise: "A zero-order random process
modeling the biased coin does not have maximum entropy"). Just that the
probabilities aren't all equal, but that doesn't change the theory.
Ok, but is more simple to make prevision about a biased (compressible)
coin and I think about everybody know .
Quote: Actually, the only reason why we use compressors is that we model data
by random processes whose probability metric is *not* uniform.
.... I am interested , can you give me some links?
Quote:
Using the compressibility principle I must say that process is not
random and this is a mistake but if you know only that sequence the
best claim possible is that the process is not random !
To say that the sequence is random you need to identify its process as
known random process and then you can give the correct answer , but
you need to know a lot of data , more than the amount of the sequence.
Of course "knowing a process" is a lot more than "knowing one of its
outcomes". That's exactly the point why "processes" are compressible or
not, not "outcomes". And that's exactly the reason why all working
compressors can only compress a *tiny* amount of sequences, namely those
that are outcomes of random processes used for defining the compressor.
(tiny... the zip in my pc compress about every files and about with
%50 of ratio . I think it's incredible but I think pheraps I will make
a different thread to speak about this ...)
Quote:
Again, please get your concepts cleaned up.
I think ( and I hope ) I will never finish to clean up my concepts.
Your interpretation of
Quote: "random" cannot be put into a strict
definition - it doesn't make sense.
Yes not so strict but maximal available and it make sense.
Denis. |
|
|
| Back to top |
|
| Thomas Richter |
Posted: Wed Mar 12, 2008 3:08 am |
|
|
|
Guest
|
a.denis1@yahoo.com schrieb:
Quote: Your definition of random is well defined becouse we can know if we
are in random domain or not without uncertainty .
My definition stay in a more practical domain and never give you
certainty ( as I mentioned is possible to make miskate in the
prevision ) but it give to you how much you can believe and you can
not do something better.
You cannot construct a theory on uncertain grounds. Otherwise, your
conclusions are useless. Mathematics works by abstracting from a real
(physical) phenomenon, and so it does here.
Quote: I think we can not remove terminology "random" outside mathematical
abstract field becouse we need it.
It's the only way how you can come to valid logical conclusions, namely
to define it "mathematically". "Inside mathematics" means not more and
not less than "with rigor".
Quote: We need to know how much we can make prevision and if we can make
prevision , this is what random means and we can work starting only on
finite data .
And as explained below, conclusions on "finite data" are meaningless
because you've ignored almost all other data. It's an incomplete
induction, which is logically void. One cannot tell from a finite number
of experiments whether a coin is biased or not. One can only hope that a
certain model for the coin works fine to predict future experiments. One
can also predict how probable a certain outcome for the experiment is,
and from that predict how probable the model fits to the data. But there
is no way to be sure.
Quote: We can also starting from data , choosing an abstract model and here
we can reasoning about Randomness with big "R" without uncertainty but
what we do here is only to move the uncertainty into the model
choosing phase , we are never sure to choose the correct model so at
the end we have the same uncertainty.
You *are* never sure that you picked the right model. In fact, the
reason why compression still improves somewhat is that we *do* find
better models. Otherwise, you know that arithmetic compression is
optimal, and nothing else had to be told. However, a model construction
cannot be done on a purely mathematical basis - you need some ingenuity
to pick something that fits to your data.
Quote: Actually, the only reason why we use compressors is that we model data
by random processes whose probability metric is *not* uniform.
... I am interested , can you give me some links?
Image compression is a perfect example. The outcome of the (linear)
transformation picked in JPEG or JPEG2000 is a heavily skewed statistic,
i.e. most samples are zero or close to zero (to be precise, this is
"almost" an IID generalized Gaussian statistics you see there). The
reason - to my understanding - for this phenomenon is a property of
natural images: By a theorem of Levy, one can show that scale invariance
implies stable distributions as statistics, and the only (symmetric)
ones there are are GGD (a provable mathematical fact). Thus, a property
"of nature" has direct consequences for statistics, and a good
"compressor" in this domain should better use a transformation that
exploits this. DWT and DCT do. There are probably other consequences one
can exploit to (losslessy) compress natural images, but that is where we
currently are.
Text compression is another example. The model is that letters form
words, which are likely to re-appear in the text, whereas other word or
letter combinations almost never appear. That is the reason why LZ and
its derivatives work so well on text - it exploits the redundancy in
natural language. It takes some ingenuity to put this into a working
algorithm, and that is not an exact science.
Quote: Using the compressibility principle I must say that process is not
random and this is a mistake but if you know only that sequence the
best claim possible is that the process is not random !
To say that the sequence is random you need to identify its process as
known random process and then you can give the correct answer , but
you need to know a lot of data , more than the amount of the sequence.
Of course "knowing a process" is a lot more than "knowing one of its
outcomes". That's exactly the point why "processes" are compressible or
not, not "outcomes". And that's exactly the reason why all working
compressors can only compress a *tiny* amount of sequences, namely those
that are outcomes of random processes used for defining the compressor.
(tiny... the zip in my pc compress about every files and about with
%50 of ratio . I think it's incredible but I think pheraps I will make
a different thread to speak about this ...)
This is because the files on your hard disk are special, and *not*
random. They are interpreted by a very structured mechanism (the CPU,
your brain) and contain a certain amount of redundancy. Actually, a
simple argument (the pigeon hole principle) shows that from the majority
of data a compressor can take as input, most of the input will expand on
compression. *Must* expand, as a consequence of reversibility of the
process. The point is that you do not feed arbitrary (avoiding to say
"random", because that's beside the point and an improper use of the
word) data to ZIP, but data whose statistics can be reasonably predicted
by a model. In case of ZIP, this is a LZ like model. It fits, because at
one end or another a human constructed the data, and we need a certain
amount of redundancy.
Quote: Again, please get your concepts cleaned up.
I think ( and I hope ) I will never finish to clean up my concepts.
Nobody ever will, but you should try to catch up with the current level
understanding. (-:
Quote:
Your interpretation of
"random" cannot be put into a strict
definition - it doesn't make sense.
Yes not so strict but maximal available and it make sense.
How can something "ill defined" make sense? You're basically making a
statement you cannot validate or falsify, so which degree of sense does
that make?
So long,
Thomas |
|
|
| Back to top |
|
| |
|
Page 1 of 1
All times are GMT - 5 Hours
The time now is Sat Oct 11, 2008 6:16 pm
|
|