#13 by Calilasseia » Mar 06, 2010 8:51 pm
Here's an abridged version of a post I wrote earlier on the subject of information ...
Information is nothing more than the observational data available with respect to the current state of a system of interest. That is IT. Two rigorous mathematical treatments of information, namely Shannon's treatment and the treatment by Kolmogorov & Chaitin, are predicated on this fundamental notion. Indeed, when Claude Shannon wrote his seminal 1948 paper on information transmission, he explicitly removed ascribed meaning from that treatment, because ascribed meaning was wholly irrelevant to the analysis of the behaviour of information in a real world system. Allow me to present a nice example from the world of computer programming.
Allow me to present to everyone a string of data (written as hexadecimal bytes):
81 16 00 2A FF 00
Now, to an 8086 processor, this string of bytes codes for a single 8086 machine language instruction, namely:
ADC [2A00H], 00FFH
which adds the immediate value of 00FFH (255 decimal) to whatever value is currently stored at the 16-bit memory location addressed by DS:2A00H (note that 8086 processors use segmented memory addressing, with DS implied as the default segment register unless the base address is of the form [BP+disp], in which case the default segment register is SS).
However, on an older, 8-bit 6502 processor, the above sequence codes for multiple instructions, namely the following sequence:
CLC
ASL ($00,X)
LDX #$FF
BRK
The first of these instructions clears the carry flag in the processor status register P. The second instruction takes the operand $00, adds to it the contents of the X register (8-bit addition only), and uses that computed address (call this N) as an index into the first 256 bytes of memory (page zero). The contents of address N and address N+1 together then constitute a 16-bit pointer into another location in memory. The 8-bit contents of this location are then shifted one bit position left (ASL stands for Arithmetic Shift Left). The third instruction loads the contents of the X register with the immediate value $FF (255 decimal). The third instruction, BRK, is a breakpoint instruction, and performs a complex sequence of operations. First, it takes the current value of the program counter (PC), which is now pointing at the BRK instruction, adds 2 to that value, and pushes it onto the stack (2 bytes are therefore pushed). It then pushes the contents of the processor status register P. Then, it loads the contents of the memory locations $FFFE and $FFFF (the top 2 locations in the 6502 address space) into the program counter and continues execution from there. The top end of memory in a 6502 system typically consists of ROM, and the hard-coded value stored in locations $FFFE/$FFFF is typically a vector to a breakpoint debugging routine in ROM, but that's an implementation dependent feature, and the exact contents of $FFFE/$FFFF vary accordingly from system to system.
To make matters even more interesting, the bytes also have meaning to a Motorola 6809 processor, viz:
CMPA #$16
NEG $2AFF
NEG ??
The first instruction is "compare accumulator A with the value $16 (22 decimal)". This performs an implicit subtraction of the operand $16 from the current contents of accumulator A, sets the condition codes (CC) according to whether the result is positive, zero or negative (and also sets other bits allowing more intricate comparisons to be made) but discards the actual result of the subtraction. The next instruction, NEG $2AFF, takes the contents of the memory location at address $2AFF (decimal 11,007), and negates it (so that a value of +8 becomes -8 and vice versa, assuming 2's complement storage). The next instruction is incomplete, hence the ?? operand, because the NEG opcode (the 00 byte) needs two following bytes to specify a memory address in order to specify which memory location's contents to negate. So, whatever two bytes follow our 6-byte stream will become the address operand for this NEG instruction.
Now, that's ONE stream of bytes, which has THREE different meanings for three different processors. Therefore ascribing meaning to the byte stream as part of the process of analysing transmission of the data is erroneous. Meaning only becomes important once the data has been transmitted and received, and the receiver decides to put that data to use. If we have three different computers receiving this 6-byte stream from appropriate sources, then the Shannon information content of each bit stream is identical, but our three different computers will ascribe totally different meanings to the byte stream, if they are regarded as part of a program instruction sequence. An 8086-based computer will regard the byte stream as an ADC instruction, the 6502-based computer will regard it as a CLC, ASL, LDX, BRK sequence, and the 6809-based computer will regard it as a CMPA, NEG, NEG sequence (and the latter will demand two more bytes to be transmitted in order to complete the last instruction).
Consequently, ascribed meaning is wholly irrelevant to the rigorous treatment of information. Creationists routinely introduce the error of assuming a priori that "information" and "ascribed meaning" are synonymous, which the above example refutes wholesale (along with thousands of others that could be posted if I had the time). Of course, creationists conflate information with ascribed meaning deliberately, because they seek to expound the view that information is a magic entity, and therefore requires an invisible magic man in order to come into existence. This is complete rot, as the Shannon and Kolmogorov/Chaitin analyses of information demonstrate readily, not to mention Turing's large body of work with respect to information. All that matters, at bottom, is that the entities and interactions applicable to a given system of interest produce different results when applied to different states of that system. Information sensu stricto, namely the observational data available with respect to the current state of a system, only becomes "meaningful" when different states lead to different outcomes during appropriate interactions applicable to the system, and the only "meaning" that matters, at bottom, is what outcomes result from those different system states, which in the case of the computer data above, differs from system to system.
Signature temporarily on hold until I can find a reliable image host ...