loops The phenomena of 'strange loops' or 'tangled hierarchies' has its reference in mathematical principles of symmetry and patterning (Hofstadter, 2000: 15). This is an endless and paradoxical process that Douglas Hofstadter aligns with Bach, Escher and the mathematician Kurt Gšdel. A paradox like 'certainty is certainly false' (link to when I said that before), 'this paper is intentionally blank' (title of a co-authored blank book) or 'this statement is false' wherein the apparent opposites of true and false make no sense can be explained through a self-referential mathematics turning to its own methods. This is explained through 'Gšdel's Incompleteness Theorem': 'To every w-consistent recursive class k of formulae there correspond recursive class-signs r, such that neither v Gen r nor Neg (v Gen r) belongs to Flg (k) (where v is the free variable of r). [or in other words:] All consistent axiomatic formulations of number theory include undecidable propositions.' (2000: 15) Similarly the truism comes to mind: 'There are two kinds of people in the world: those that think there are two kinds of people in the world and those who do not.' This might be explained as self-referential critique of language and dualistic thinking. This approach has close connection to the dialectical law of motion. That numbers stand for words in the formula is a crucial element in establishing the 'code' by which the logic unfolds (of numbers for words both adhering to rules of course). According to this, the statement is not false but does not contain proof. The true statements of mathematics are not false but neither true nor false. Whereas for the most part mathematicians would agree what is true and false, this is held in contention when numbers are taken to be words that follow a rule-based logic. Hofstadter, with the aid of words, neatly describes the condition of the 'strange loop' like this: 'The following sentence is false. The preceding sentence is true.' (2000:21) In terms of this (my) thesis, both statements are embedded in dialectical tension. Computer loops Babbage's 'Difference Engine' rested on the logic of the 'method of differences' (extending Leibnitz's machines for performing fixed operations in the C17th), yet the 'Analytical Engine' took this further again. It employed the principle of the 'strange loop', 'to eat its own tail' in Babbage's words; or one capable of altering its own stored program (Hofstadter, 2000: 25). Ada Lovelace imagined the engine to 'compose elaborate and scientific pieces of music of any degree of complexity or extent' (quoted in Hofstadler, 2000: 25). Hofstadter sees the development of Turing theories of computation in parallel to Gšdel's 'metamathematical' theories (2000: 26). Strange loops suggest rules by which new rules will emerge, rules that change themselves in self-organising structures. This emphasises not just paradox at work, but the dialectical idea that expresses a complex structure of true and false statements, and of order and disorder. Recursion Through its distinction from a cursive figure (in drawing practice for instance), Hofstadter explains recursion as a scenario in which the negative form (or ground rather than figure) can be recognised as a positive form in itself (2000: 68). He extends this to the distinction between melody and accompaniment in music (figure and [back-]ground accordingly). Both examples emphasis the point that a well-formed theorem contains both the theorem and negations of theorems as Hofstadter puts it (2000: 71); logical contradiction or in terms of thesis and antithesis if you will. Recursion is a domain where 'sameness-in-differentness' operates simultaneously (2000: 148). Commonly, recursive structures include stories within stories or Russian dolls within Russsin dolls - '(even parenthetical comments within parenthetical comments)' says Hofstadter within parenthesis (2000: 127). They define something in relation to itself, but in terms of a simpler version. But if this sounds like a qualitative judgement, it shouldn't be. On the contrary it should be simpler as in more refined). Hofstadter points to the significance of this principle within computer science, it means moving from level to level in an operation, whilst storing in memory all previous levels such that operations might be returned to (2000: 128). This is important in A.I., and is evident in the ways we use construct expressions in language, through syntax in sentences and in a thesis as a whole, returning to the point or central argument at various points along the way. Similarly if this is expressed in dialectical style, the thesis becomes more refined at each point of synthesis. Recursion also operates at the lowest level of matter according to Douglas Hofstadter. He tells us that Physicists claim that elementary particles (electrons, protons, neutrons, photons) all interact in a way that can be described as recursive. Physics subscribes to grammatical rules: 'What happens is that no particle can even be defined without referring to all other particles, whose definitions in turn depend on the first particles, etc. Round and round, in a never-ending loop.' (Hofstadter, 2000: 142 - pity the last sentence doesn't subscribe to the rules of grammar.) These interactions operate in recursive structures, in networks, and at a level of complexity. Grammar and syntax are fundamental too in the writing of computer code where recursive transitions are crucial. For instance, parenthesis is used to produce sub-clauses whilst retaining the overall flow of logic. Recursivity in computer programmes, implementing 'return' can lead to 'infinite regress' (I have an example of that, I think, in my dialectics.bas code which would simply carry on producing 1's and 0's until the system crashes). Hofstadter says: 'Even the most heterarchical program structure bottoms out - otherwise it wouldn't run! It would just be constantly expanding node after node, but never performing any action' (2000: 134). This is precisely what might be used to map the actions of the system itself (ref. Alex McLean's 'fork bomb') in what might be called an 'infinite loop'. Loops are commonplace in setting out instructions to perform repeated tasks, usually stopped at a certain point, and loops rest within loops in intricate ways, what Hofstadter calls 'nested loops' indicating 'good programming style' (2000: 149) - literally parenthesis within parenthesis. The aspect of unpredictability in these processes is what characterises them as generative for the purposes of this thesis. Hofstadter describes this as follows: 'Recursive enumeration [generated from a set of starting points] is a process in which new things emerge from old things by fixed rules. [...] [Furthermore] recursively defined sequences of that type possess some sort of inherently increasingly complexity of behaviour, so that the further out you go, the less predictable they get' (2000: 152). Contradiction is a valuable source of clarification, not least in mathematics. However, as has been stated elsewhere, disorder is generated in orderly ways. systems (link to factories & fork bomb) Some clear separation is necessary between programs and machines - between software and hardware as it were - between the sequences of code (instruction systems)and the machines (operating systems) that perform the instructions (by analogy, the score and the musical instrument). Also any system is a combination of interacting parts, wherein not only the whole is more than the sum of its parts, but wherein each part demonstrates behaviour based on its interrelationships within the whole system as well as retaining its own individual distinctiveness. This is what characterises any system, in fact, whether within the tradition of physics, computing or social science. Even within the programme, every bit plays a role in determining the output and its unpredictability. Thus an overall system is useful in that it now only allows its parts to function appropriately but with increased functionality as a result of being part of a wider system. This is what the fork bomb points to - its performance is modulated by the performance of the operating system, of which it is part. And furthermore, some systems (like language) are able to reproduce themselves. Meanings are not encoded but are decoded as part of an overall understanding of the systems within which they operate. (and with reference to Magritte's 'Ceci n'est pas une pipe') '1. This sentence contains five words. 2. This sentence is meaningless because it is self-referential. 3. This sentence no verb. 4. This sentence is false. (Epidemides paradox) 5. The sentence I am now writing is the sentence you are now reading.' [evoking barthes' comment: 'he is dead and about to die' under the photograph of a prisoner on death row, in Camera Lucida] (Hofstadter, 2000: 495) The referent 'the sentence' is understandable only within the overall context of the words making a sentence in itself and this being one of the structural elements of written language as a whole. Imagine a programme running that writes itself anew as it runs (there's an example of this one of the msc students gave, Xavier? - find the reference). This appears to be an extreme case of taking the relationship between code and the output as fundamentally linked. The linguistic metaphor serves its purpose. However we should be skeptical given the post-structuralist critique of structuralism's reductive capacity in not taken enough account of subjectivity as part of the equation. (link to creative subjective). However attractive a concentration on syntax and structure in code may be, it needs to take account of subjectivity more fully. My way of doing this is to look at the figure of the creative subject in more depth - and as not simply a function of discourse, or just part of the system, but operates both inside and outside the system as a disruptive and unpredictable element. Hofstadter muses over the distinction between the original and copy by thinking about the printing of output from code. He describes three versions of this in terms of translation. In the first of these, the program when interpreted by some interpreter simply prints out the program; in the second scenario, the printout additionally contains a copy of the interpreter (also a program); thirdly, it acknowledges the 'union of program, interpreter and processor' as well as data (2000: 504). This serves to illustrate how systems are organised by combination of overt, informal systems (software if you like) and more covert, formal systems (hardware) that combine to provide a complex mechanism that runs to definite ordered rules, even when it appears that disorder is being expressed. This doesn't simply imply that any system is explained by mathematics, but offers an explanation of why such a level of complexity is almost beyond explanation. machine-authors Although Hofstadter's interests are the limits of thinking and artificial intelligence (and what he calls the '"camp" clichŽ of the giant electronic brain), he offers some useful thoughts on authorship. A key principle here is that software and hardware are systems but also inextricably linked as part of a larger system. He takes his cue from AI and its take on 'originality' in asking: 'what if an AI program comes up with an idea... which its programmer has never entertained - who should be given the credit?' (2000: 606). The simple answer would be it's a collaboration, a complex interaction between parts, but he is more precisely interested in intellectual property although he doesn't say as much. He claims that the human author 'can be referred to as the "meta-author" - the author of the author of the result, and the program as the (just plain) author' (2000: 607). However autonomy is also a key issue here. These are familiar but unresolved issues in post-Duchampian creative practice. Hofstadter asks whether it is possible to think of the computer composing. The answer might simply be: yes, but only if the programmer says so (in parallel to Duchamp saying 'it is art because I say so' - exact quote?). Mechanised or automated creativity is not a contradiction of terms. Hofstadter says 'Almost, but not really. Creativity is the essence of that which is not mechanical... the mechanical substrate of creativity may be hidden from view, but it exists. Conversely, there is something unmechanical in inflexible programs, even today.' (2000: 673) He quotes Norbert Wiener in saying that machines can transcend some of the limitations of their designers, but does so in connection to Arthur Samuel's rebuttal of machine consciousness (2000: 684). Samuel's argument is based on the fundamental conviction that 'nothing comes out that has not been put it', it simply is following instructions. The reply is probably: almost, but not really. Again he quotes Samuel: 'No computer ever "wants" to do anything, because it was programmed by someone else. Only if it could program itself from zero on up - an absurdity - would it have its own sense of desire.' (Hofstadter, 2000: 685) The counter argument seems obvious to anyone with a sense of how subjectivity is constructed - that humans conform to the same logic and are not 'self-programmed'. They are part of a shared overall social system - that contain relatively fixed hardware and variable software, appearing as covert and overt processes. The rules of the system may well lie somewhere in the system but are so deeply embedded and complex that they remain hidden to all intensive purposes - but there are rules. This is in danger of making too easy (not complex enough) a parallel between humans and machines but at least serves to throw emphasis on the ideological importance of the system within which both operate. The rules change, and we can change them in the same way that we change, software packages can even change their own rules but at the bottom rules do not change - expressing an 'inviolate level' (Hofstadter, 2000:687) even in the case of self-organising systems. This is where paradox enters the frame again, or the 'strange loop' for Hofstadter. In describing a game of self-modifying chess, he explains this principle as: 'The distinction between game, rules, metarules, metmetarules has been lost. What was once a nice clean hierarchical set-up has become a Strange Loop, Or Tangled Hierarchy. The moves change the rules, the rules determine the moves, round and round the mulberry bush...' (2000: 688). He further illustrates this by the Escher lithograph Drawing hands (1948) where 'that which draws, and that which is drawn - turn back on eachother, creating a Tangled Hierarchy' (2000: 689). In these examples, some aspect acts upon the system as if it were operating outside the system. It is both simultaneously outside and inside the system, acting and being acted upon, both subject and object - breaking down simple dualisms. Like feedback, it endlessly effects itself - like the operation of code being executed and yet being embedded in the very thing executed. How might such an operation be demonstrated?