<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alan's blog &#187; turing machine</title>
	<atom:link href="http://www.alandix.com/blog/tag/turing-machine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alandix.com/blog</link>
	<description>just starting ...</description>
	<lastBuildDate>Wed, 08 Feb 2012 18:53:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Searle&#8217;s wall, computation and representation</title>
		<link>http://www.alandix.com/blog/2009/02/21/searles-wall-computation-and-representation/</link>
		<comments>http://www.alandix.com/blog/2009/02/21/searles-wall-computation-and-representation/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 13:49:33 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[academic]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[computation]]></category>
		<category><![CDATA[embodied computation]]></category>
		<category><![CDATA[human computer interaction]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[turing machine]]></category>

		<guid isPermaLink="false">http://www.alandix.com/blog/?p=131</guid>
		<description><![CDATA[Reading a bit more of Brain Cantwell Smith’s &#8220;&#8221;  and he refers (p.30-31) to Searle&#8216;s wall that, according to Searle, can be interpreted as implementing a word processor.  This all hinges on predicates introduced by Goodman such as &#8216;grue&#8217;, meaning &#8220;green is examined before time t or blue if examined after&#8221;: grue(x) = if ( [...]]]></description>
			<content:encoded><![CDATA[<p>Reading a bit more of Brain Cantwell Smith’s &#8220;<a href="http://www.amazon.co.uk/gp/product/0262692090?ie=UTF8&tag=textilearts0b-21&link_code=wql&camp=2486&creative=8946" type="amzn" asin="0262692090">On the Origin of Objects</a>&#8220;  and he refers (p.30-31) to <a href="http://en.wikipedia.org/wiki/John_Searle" target="_blank">Searle</a>&#8216;s wall that, according to Searle, can be interpreted as implementing a word processor.  This all hinges on predicates introduced by <a href="http://en.wikipedia.org/wiki/Nelson_Goodman" target="_blank">Goodman</a> such as &#8216;grue&#8217;, meaning &#8220;green is examined before time t or blue if examined after&#8221;:</p>
<pre style="padding-left: 30px;">grue(x) = if ( now() &lt; t ) green(x)
          else blue(x)</pre>
<p>The problem is that an emerald apparently changes state from grue to not grue at time t, without any work being done.  Searle&#8217;s wall is just an extrapolation of this so that you can interpret the state of the wall at a time to be something arbitrarily complex, but without it ever changing at all.</p>
<p>This issue of the fundamental nature of computation has long seemed to me the &#8216;black hole&#8217; at the heart of our discipline (I&#8217;ve alluded to this before in &#8220;<a href="http://www.alandix.com/blog/2008/01/13/what-is-computing-the-centrality-of-systemics/" target="_blank">What is Computing?</a>&#8220;).  Arguably we don&#8217;t understand information much either, but at least we can <em>measure</em> it &#8211; we have a unit, the bit; but with computation we cannot even measure except without reference to specific implementation architecture whether Turing machine or <a href="http://en.wikipedia.org/wiki/Intel_Core_2" target="_blank">Intel Core</a>.  Common sense (or at least programmer&#8217;s common sense) tells us that any given computational device has only so much computational &#8216;power&#8217; and that any problem has a minimum amount of computational effort needed to solve it, but we find it hard to quantify precisely.  However,  by Searle&#8217;s argument we can do arbitrary amounts of computation with a brick wall.</p>
<p>For me, a defining moment came about 10 years ago, I recall I was in Loughbrough for an examiner&#8217;s meeting and clearly looking through MSc scripts had lost it&#8217;s thrill as I was daydreaming about computation (as one does).  I was thinking about the relationship between computation and representation and in particular the fast (I think fastest) way to do multiplication of very large numbers, the <a href="http://en.wikipedia.org/wiki/Sch%C3%B6nhage-Strassen_algorithm" target="_blank">Schönhage–Strassen algorithm</a>.</p>
<p>If you&#8217;ve not come across this, the algorithm hinges on the fact that multiplication is a form of convolution (sum of a[i] * b[n-i]) and a Fourier transform converts convolution into pointwise multiplication  (simply a[i] * b[i]). The algorithm looks something like:</p>
<pre style="padding-left: 30px;">1. represent numbers, a and b, in base B (for suitable B)
2. perform FFT in a and b to give af and bf
3. perform pointwise multiplication on af and bf to give cf
4. perform inverse FFT on cf to give cfi
5. tidy up cfi a but doing carries etc. to give c
6. c is the answer (a*b) in base B</pre>
<p>In this the heart of the computation is the pointwise multiplication at step 3, this is what &#8216;makes it&#8217; multiplication.  However, this is a particularly extreme case where the change of representation (steps 2 and 4) makes the computation easier. What had been a quadratic O(N<sup>2</sup>) convolution is now a linear O(N) number of pointwise multiplications (strictly O(n) where n = N/log(B) ).  This change of representation is in fact so extreme, that now the &#8216;real work&#8217; of the algorithm in step 3 takes significantly less time (O(n) multiplications) compared to the change in representation at steps 2 and 4 (FFT is O( n log(n) ) multiplications).</p>
<p>Forgetting the mathematics this means the majority of the computational time in doing this multiplication is taken up by the change of representation.</p>
<p>In fact, if the data had been presented for multiplication already in FFT form and result expected in FFT representation, then the computational &#8216;cost&#8217; of multiplication would have been linear &#8230; or to be even more extreme if instead of &#8216;representing&#8217; two numbers as a and b we instead &#8216;represent&#8217; them as a*b and a/b, then multiplication is free.  In general, computation lies as much in the complexity of putting something into a representation as it is in the manipulation of it once it is represented.  Computation is change of representation.</p>
<p>In a <a href="http://doi.acm.org/10.1145/365813.858374" target="_blank">letter to CACM</a> in 1966 Knuth said<sup><a href="#footnote-1-131" id="footnote-link-1-131" title="See the footnote.">1</a></sup>:</p>
<blockquote><p>When a scientist conducts an experiment in which he is measuring the value of some quantity, we have four things present, each of which is often called &#8220;information&#8221;: (a) The true value of the quantity being measured; (b) the approximation to this true value that is actually obtained by the measuring device; (c) the representation of the value (b) in some formal language; and (d) the concepts learned by the scientist from his study of the measurements. It would seem that the word &#8220;data&#8221; would be most appropriately applied to (c), and the word &#8220;information&#8221; when used in a technical sense should be further qualified by stating what kind of information is meant.</p></blockquote>
<p>In these terms problems are about information, whereas algorithms are operating on data &#8230; but the &#8216;cost&#8217; of computation has to also include the cost of turning information into data and back again.</p>
<p>Back to Searle&#8217;s wall and the Goodman&#8217;s emerald.  The emerald &#8216;changes&#8217; state from grue to not grue with no cost or work, but in order to ask the question &#8220;is this emerald grue?&#8221; the answer will involve computation (<tt>if (now()&lt;t</tt>) &#8230;).  Similarly if we have rules like this, but so complicated that Searle&#8217;s wall &#8216;implements&#8217; a word processor, that is fine, but in order to work out what is on the word processor &#8216;screen&#8217; based on the observation of the (unchanging) wall, the computation involved in making that observation would be equivalent to running the word processor.</p>
<p>At a theoretical computation level this reminds us that when we look at the computation in a Turing machine, vs. an Intel processor or lambda calculus, we need to consider the costs of change of representations between them.  And at a practical level, we all know that 90% of the complexity of any program is in the I/O.</p>
<br /><ol class="footnotes"><li id="footnote-1-131">Donald Knuth, &#8220;Algorithm and Program; Information and Data&#8221;, Letters to the editor. Commun. ACM 9, 9, Sep. 1966, 653-654. DOI= <a href="http://doi.acm.org/10.1145/365813.858374" target="_blank">http://doi.acm.org/10.1145/365813.858374</a>   [<a href="#footnote-link-1-131">back</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.alandix.com/blog/2009/02/21/searles-wall-computation-and-representation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Computing?  The centrality of systemics</title>
		<link>http://www.alandix.com/blog/2008/01/13/what-is-computing-the-centrality-of-systemics/</link>
		<comments>http://www.alandix.com/blog/2008/01/13/what-is-computing-the-centrality-of-systemics/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 19:08:10 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[academic]]></category>
		<category><![CDATA[HCI and usability]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[computation]]></category>
		<category><![CDATA[embodied computation]]></category>
		<category><![CDATA[human computer interaction]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[turing machine]]></category>

		<guid isPermaLink="false">http://www.alandix.com/blog/2008/01/13/what-is-computing-the-centrality-of-systemics/</guid>
		<description><![CDATA[Recently I was in a meeting where the issue of &#8216;core&#8217; computer science came up. One person listed a few areas, but then this was challenged by another member of the group who said (to be fair, partly in jest), that core computer science should certainly include computer architecture, but not the &#8216;human stuff&#8217;. I [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was in a meeting where the issue of &#8216;core&#8217; computer science came up.  One person listed a few areas, but then this was challenged by another member of the group who said (to be fair, partly in jest), that core computer science should certainly include computer architecture, but not the &#8216;human stuff&#8217;.</p>
<p>I felt a little like a teenager complete with T-shirt and iPod dropped into Jurassic Park arguments that I thought had been put to bed in the 1980s suddenly resurfacing &#8211; how do you explain this white thing that makes sounds from its earphones to a caveman wearing skins?</p>
<p>However, I also felt a certain sympathy as I often wonder about computer science as a whole; indeed it has its own arguments in the 1960s and &#8217;70s as to whether it was a &#8216;discipline&#8217; as opposed to just an application domain for maths or electronics, or just a tool for business.  Maybe one of the clinchers was the theoretical foundations of computing in the work of Church and Turing &#8230; but strangely enough at Lancaster the closest to this, the course on algorithmic complexity, is taught by a HCI person!</p>
<p>One of my worries in computing is that these theoretical foundations are still weak, there is black hole in the theoretical centre of computer science<sup><a href="#footnote-1-58" id="footnote-link-1-58" title="See the footnote.">1</a></sup>.   However, these theoretical issues were certainly not what was bothering my colleague. To answer his challenge and my own worries about the discipline we really need to know &#8211; what is computing?</p>
<p><span id="more-58"></span></p>
<h3>Fundamentals: algorithmics and systemics</h3>
<p>One way to &#8216;carve up&#8217; computing is in terms of <em>algorithmics</em> and <em>systemics</em><sup><a href="#footnote-2-58" id="footnote-link-2-58" title="See the footnote.">2</a></sup>.</p>
<p><strong>Algorithmics</strong> &#8211; the way computational devices behave individually and largely <em>internally</em> to achieve particular input/output behaviours.</p>
<p><strong>Systemics</strong> &#8211; the way computational devices fit together in systems with their environments, in order to achieve <em>external</em> purposes.</p>
<p>When a computer scientist thinks of the &#8216;core&#8217; of computing, it is the algorithmic side that springs most readily to mind and this is certainly the principle focus of more theoretical computer science.  However, when Peter Denning suggests seven categories for fundamental principles of computing: computation, communication, coordination, recollection, automation, evaluation and design; it is notable that only two, computation and recollection, fall relatively soundly under algorithmics<sup><a href="#footnote-3-58" id="footnote-link-3-58" title="See the footnote.">3</a></sup>.</p>
<p>Indeed, the topics and sub-disciplines of computing address different aspects of both algorithmics and systemics. Some topics are almost entirely about algorithmics: programming languages (theory and practice), compilation, data structures and algorithms, and algorithmic complexity.  Other topics, notably software engineering and human-computer interaction are focused most strongly on systemics.  Most topics incorporate aspects of both: for example most courses on databases consider both the context in which databases work and the way in which they connect to code (systemics), but also the data structures and algorithms used to achieve this behaviour (algorithmics); and in my own HCI courses I cover both the more external human design issues and algorithmic and architectural issues of interactive systems<sup><a href="#footnote-4-58" id="footnote-link-4-58" title="See the footnote.">4</a></sup>.</p>
<p>So, while issues of systemics underlie the majority of modern computer science, it is still algorithmics alone that comprises our caricature of the subject.  Systemics is like the Cinderella of the discipline who does all the work but gets none of the limelight.</p>
<h3>Taking systemics seriously</h3>
<p>Apart from being the grist for bar table discussions of computing does this matter?</p>
<p>It certainly seems to influence what we regard as basics of computing for first year computing students.</p>
<p>When I was in previous departments that had both &#8216;computer science&#8217; and business computing students, the former were taught Java and the later Visual Basic.  VB was regarded as a somewhat Noddy language in particular as it was poor in data structures and so less suitable for fundamentals of real programming such as arrays and iteration (interestingly both fine in VB!).  What interested me was that students doing VB started out with event-based programming as the &#8216;easy&#8217; way into programming with VB is to construct a GUI using visual tools and then add behaviours.  In contrast, for those doing Java this would have been an &#8216;advanced&#8217; topic they did when they eventually got on to GUI programming, or maybe never.</p>
<p>Event-based programming is core when you think systemics â€“ that the computer program you are writing is part of a larger whole, but seems peripheral to a more narrow algorithmic focus.  Of course, it is not just graphical user interfaces where event-based programming is core, bur also any sort of distributed, networked or embedded programming and not least web computing both at the server-end with transactional code and now at the client-end also with AJAX.  Absolutely central to so many aspects of computing but often an &#8216;optional extra&#8217; in our teaching</p>
<p>At a theoretical level Wegner has been vocal in advocating that an adequate account of theoretical computing has to take into account interaction with the environment.<sup><a href="#footnote-5-58" id="footnote-link-5-58" title="See the footnote.">5</a></sup> Personally, I don&#8217;t buy all his arguments, but the crucial message is clearly true: computational devices do not simply take an input and produce (eventually) an output, bur are in fact processes involving their own state and interacting with their environment: input and output are in fact sequences not singular occurrences<sup><a href="#footnote-6-58" id="footnote-link-6-58" title="See the footnote.">6</a></sup>.</p>
<p>Systemics also forces you to take seriously embodied computation both in the theoretical sense that I have considered myself<sup><a href="#footnote-7-58" id="footnote-link-7-58" title="See the footnote.">7</a></sup> and also in the practical sense that computational devices are physically in the world as well as interacting with it and so we need to take this into account.  For example, issues of power consumption were central to the <a title="One Laptop per Child project" href="http://laptop.org/" target="_blank">One Laptop per Child</a> project as they are in ubiquitous and mobile computing.</p>
<p>With the exceptions of space and time complexity algorithmics focuses us on functional properties whereas systemics connects more closely to non-functional properties.  Interestingly all the problems I cited in my recent blog &#8216;&#8221;<a title="blog: i just wanted to print a file" href="http://www.alandix.com/blog/2007/12/27/i-just-wanted-to-print-a-file/" target="_blank">I just wanted to print a file</a>&#8221; are about systemics</p>
<br /><ol class="footnotes"><li id="footnote-1-58"> This demands a discussion of its own, but the basic problem is that while Church and Turing gave us understanding of disembodied computation, we still do not have clear understanding of generic computation when embodied in devices in general only particular architectures.   [<a href="#footnote-link-1-58">back</a>]</li><li id="footnote-2-58"> Perhaps I am still being too narrow in this distinction. Arguably there ought to be a heading <em>pragmatics</em>: how we understand and manage the processes external to the computational system, those that give rise to it (e.g. requirements), and those that sustain it (e.g. maintenance, testing, documentation).  However, for the time being I&#8217;ll lump these under the systemic label.    [<a href="#footnote-link-2-58">back</a>]</li><li id="footnote-3-58"> The principles are listed at Denning, P. J. 2007. Computing is a natural science. Comm. ACM 50, 7 (Jul. 2007), 13-18. DOI= <a title="ACM DOI: computing is a natural science" href="http://doi.acm.org/10.1145/1272516.1272529" target="_blank">http://doi.acm.org/10.1145/1272516.1272529</a>.  They are part of Denning&#8217;s programme to develop &#8220;<a title="Great principles of computing" href="http://cs.gmu.edu/cne/pjd/GP" target="_blank">Great Principles of Computing</a>&#8220;.   [<a href="#footnote-link-3-58">back</a>]</li><li id="footnote-4-58">In fact, Lancaster Computing prides itself on its systems orientation and this is reflected in areas of expertise that are strongly focused on systemics: networking, distributed systems, software engineering, HCI, embedded systems.  [<a href="#footnote-link-4-58">back</a>]</li><li id="footnote-5-58">Wegner, P. 1997. Why interaction is more powerful than algorithms. Comm. ACM 40, 5 (May. 1997), 80-91. DOI= <a title="ACM DOI: why interaction is more powerful than algorithms" href="http://doi.acm.org/10.1145/253769.253801" target="_blank">http://doi.acm.org/10.1145/253769.253801</a>, see also <a title="Wegner: home page" href="http://www.cs.brown.edu/~pw/" target="_blank">Peter Wegner&#8217;s home page</a> and Dina Goldin&#8217;s papers on <a title="Goldin: interactive computation" href="http://www.cs.brown.edu/people/dqg/papers/#interaction" target="_blank">Interactive Computation</a>   [<a href="#footnote-link-5-58">back</a>]</li><li id="footnote-6-58"> In Wegner and Goldin&#8217;s work IO are strictly sequences, not time series &#8211; they assume synchronised stepwise processing.  As an aside it is interesting to think more widely about time in computing.  Time is taken into account in various areas notably algorithmic complexity and (naturally) real-time computing.  However, the central notion of computability in Church and Turing ignores time so long as it is finite.  [<a href="#footnote-link-6-58">back</a>]</li><li id="footnote-7-58">See &#8220;<a title="blog: matterealities and the physical embodiment of code" href="http://www.alandix.com/blog/2007/11/09/matterealities-and-the-physical-embodiment-of-code/" target="_blank">matterealities and the physical embodiment of code</a>&#8221; and my notes on <a title="embodied computation" href="http://www.hcibook.com/alan/topics/embodied-computation/" target="_blank">embodied computation</a>.   [<a href="#footnote-link-7-58">back</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.alandix.com/blog/2008/01/13/what-is-computing-the-centrality-of-systemics/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>matterealities and the physical embodiment of code</title>
		<link>http://www.alandix.com/blog/2007/11/09/matterealities-and-the-physical-embodiment-of-code/</link>
		<comments>http://www.alandix.com/blog/2007/11/09/matterealities-and-the-physical-embodiment-of-code/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 20:42:36 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[academic]]></category>
		<category><![CDATA[HCI and usability]]></category>
		<category><![CDATA[brain]]></category>
		<category><![CDATA[embodied cognition]]></category>
		<category><![CDATA[embodied computation]]></category>
		<category><![CDATA[fairylights]]></category>
		<category><![CDATA[firefly]]></category>
		<category><![CDATA[human computer interaction]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[physicality]]></category>
		<category><![CDATA[socio-organisational church-turing hypothesis]]></category>
		<category><![CDATA[touring machine]]></category>
		<category><![CDATA[turing machine]]></category>

		<guid isPermaLink="false">http://www.alandix.com/blog/2007/11/09/matterealities-and-the-physical-embodiment-of-code/</guid>
		<description><![CDATA[Last Tuesday morning I had the pleasure of entertaining a group of attendees to the Matterealities workshop @ lancaster. Hans and I had organised a series of demos in the dept. during the morning (physiological gaming, Firefly (intelligent fairylights), VoodooIO, something to do with keyboards) &#8230; but as computer scientists are nocturnal the demos did [...]]]></description>
			<content:encoded><![CDATA[<p>Last Tuesday morning I had the pleasure of entertaining a group of attendees to the <a href="http://www.ist-palcom.org/activities/matterealities/" title="Palcom: Matterealities" target="_blank">Matterealities</a> workshop @ lancaster.  Hans and I had organised a series of demos in the dept. during the morning (physiological gaming, <a href="http://www.comp.lancs.ac.uk/~dixa/projects/firefly/" title="FireFly" target="_blank">Firefly</a> (intelligent fairylights), <a href="http://eis.comp.lancs.ac.uk/index.php?id=11&amp;type=0" title="VoodooIO" target="_blank">VoodooIO</a>, something to do with keyboards) &#8230; but as computer scientists are nocturnal the demos did not start until 10am, and so I got to talk with them for around an hour beforehand :-/</p>
<p>The people there included someone who studied people coding about DNA, someone interested in text, anthropologosts, artists and an ex-AI man. We talked about embodied computation<sup><a href="#footnote-1-42" id="footnote-link-1-42" title="See the footnote.">1</a></sup>, the human body as part of computation, the physical nature of code, the role of the social and physical environment in computation &#8230; and briefly over lunch I even strayed onto the <a href="http://www.comp.lancs.ac.uk/~dixa/essays/" title="Alan's essays" target="_blank">modeling of regret</a> &#8230; but actually a little off topic.</p>
<p><em><strong><a href="http://www.flickr.com/photos/91076487@N00/1915018907/in/pool-599918@N22" title="Flickr photo" target="_blank"><img src="http://farm3.static.flickr.com/2052/1915018907_8ad6bb9991.jpg?v=0" title="Alan driving" alt="Alan driving" align="right" border="0" height="188" hspace="10" width="250" /></a></strong></em></p>
<p><strong><em>physicality</em></strong> &#8211; Played a little with sticks and stones while talking about  properties of physical objects: locality of effect, simplicity of state,  proportionality and continuity of effect<sup><a href="#footnote-2-42" id="footnote-link-2-42" title="See the footnote.">2</a></sup>.</p>
<p><em><strong>physical interaction</strong></em> &#8211; Also  talked about the <a href="http://www.physicality.org/" title="DEPtH Project website" target="_blank">DEPtH project</a> and previous work with <a href="http://www.comp.lancs.ac.uk/~masitah/" title="Masitah's web page @ lancs" target="_blank">Masitah</a> on natural interaction.  Based on the piccie I may have acted out driving when talking about natural inverse actions</p>
<p><em><strong>ubiquity of computation</strong></em> &#8211; I asked the question I often do &#8220;How many computers do you have in your house&#8221; &#8230; one person admitted to over 10 &#8230; and she meant real computers<sup><a href="#footnote-3-42" id="footnote-link-3-42" title="See the footnote.">3</a></sup>.  However, as soon as you count the computer in the TV and HiFi, the washing machine and microwave, central heating and sewing machine the count gets bigger and bigger.  Then there is the number you carry with you: mobile phone, camera, USB memory stick, car keys (security codes), chips on credit cards.</p>
<p><img src="http://farm3.static.flickr.com/2078/1915842016_40d1577e32_m.jpg" title="FireFly on a Christmas tree" alt="FireFly on a Christmas tree" align="right" height="180" hspace="10" width="240" />However at the <a href="http://www.infolab21.lancs.ac.uk/news_and_events/news/?article_id=280" title="FireFly" target="_blank">Firefly</a> demo later in the morning they got to see what may be the greatest concentration of computers in the UK &#8230; and all on a Christmas Tree.  Behind each tiny light (over 1000 of them) is a tiny computer, each as powerful as the first PC I owned allowing them to act together as a single three dimensional display.</p>
<p><strong><em>embodiment of computation</em></strong> &#8211;   Real computation always happens in the physical world: electrons zipping across circuit boards  and transistors routing signals in silicon. For computation to happen the code (the instruction of what needs to happen) and the data (what it needs to happen with and to) need to be physically together.</p>
<p>The Turing Machine, Alan Turing&#8217;s thought experiment, is a lovely example of this.  Traditionally the tape in the Turing machine is thought of as being dragged across a read-write head on the little machine itself.</p>
<p>However &#8230; if you were really to build one &#8230; the tape would get harder and harder to move as you used longer and longer tapes.  In fact it makes much more sense to think of the little machine as moving over the tape &#8230; the Turing machine is really a touring machine  (ouch!).   Whichever way it goes, the machine that knows what to do and the tape that it must do it to are brought physically together<sup><a href="#footnote-4-42" id="footnote-link-4-42" title="See the footnote.">4</a></sup>.</p>
<p>This is also of crucial importance in real computers and one of the major limits on fast computers is the length of the copper tracks on circuit boards &#8211; the data must come to the processor, and the longer the track the longer it takes &#8230; 10 cm of PCB is a long distance for an electron in a hurry.<br />
<a href="http://www.flickr.com/photos/91076487@N00/1915847754/in/pool-599918@N22" target="_blank" title="Flickr photo"><img src="http://www.locoblog.com/photos/u236/j337/img4.jpeg" title="Alan" alt="Alan" align="left" border="0" height="160" hspace="10" vspace="10" width="214" /></a><strong><em>brain as a computer</em> </strong>- We talked about the way each age reinvents humanity in terms of its own technology: Pygmalion in stone, clockwork figures, pneumatic theories of the nervous system, <a href="http://www.bigredhair.com/steamman/" title="Victorian Steam Man" target="_blank">steam robots</a>, electricity in Shelley&#8217;s Frankenstein and now seeing all life through the lens of computation.</p>
<p>This withstanding &#8230; I did sort of mention the weird fact (or is it a factoid) that the human brain has similar memory capacity to the web<sup><a href="#footnote-5-42" id="footnote-link-5-42" title="See the footnote.">5</a></sup> &#8230; this is always a good point to start discussion <img src='http://www.alandix.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>While on the topic I did just sort of mention the socio-organisational Church-Turing hyphothesis &#8230; but that is another story</p>
<p><em><strong>more</strong></em> &#8230; I recall counting the number of pairs of people and the number of seat orderings to see quadratic (n squared) and exponential effects, the importance of interpretation, why computers are more than and less than numbers, the Java Virtual Machine, and more, more, more, &#8230; it was  very full hour</p>
<p style="text-align: center"><a href="http://www.flickr.com/photos/91076487@N00/1915018667/in/pool-599918@N22" target="_blank" title="Flickr photo"><img src="http://farm3.static.flickr.com/2179/1915018667_c083972438.jpg?v=0" title="Alan" alt="Alan" border="0" height="120" hspace="10" vspace="0" width="160" /></a><a href="http://www.locoblog.com/view.php?uid=236&amp;jid=338" title="Matterealities Lcoblog" target="_blank"><img src="http://www.locoblog.com/photos/u236/j338/tmb6.jpg" title="Lcoblo - artefacts" alt="Lcoblo - artefacts" border="0" height="120" hspace="10" width="160" /></a><a href="http://www.flickr.com/photos/91076487@N00/1915018441/in/pool-599918@N22" target="_blank" title="Flickr photo"><img src="http://farm3.static.flickr.com/2303/1915018441_5280066a55.jpg?v=0" title="Alan" alt="Alan" border="0" height="120" hspace="10" vspace="0" width="160" /></a></p>
<br /><ol class="footnotes"><li id="footnote-1-42">I just found notes I&#8217;d made for web page in <em>embodied computation</em> 5 years ago &#8230; so have put the <a href="http://www.comp.lancs.ac.uk/~dixa/topics/embodied-computation/" title="embodied computation" target="_blank">notes online</a>  [<a href="#footnote-link-1-42">back</a>]</li><li id="footnote-2-42">see preface to <a href="http://www.physicality.org/physicality2006/" title="Physicality 2006 Conference" target="_blank">Physicality 2006</a> proceedings  [<a href="#footnote-link-2-42">back</a>]</li><li id="footnote-3-42">I just found an online survey  on  <a href="http://www.tuxmagazine.com/node/1000121" title="TUX magazine: How many computer in your house" target="_blank">How many computers in your house</a>  [<a href="#footnote-link-3-42">back</a>]</li><li id="footnote-4-42">Yep I know that  Universal Turing machine has the code on the tape, but there the &#8216;instructions&#8217; to be executed are basically temporarily encoded into the UTM&#8217;s state while it zips off  to the data part of the tape.  [<a href="#footnote-link-4-42">back</a>]</li><li id="footnote-5-42">A. Dix (2005). <strong>the brain</strong><strong> and the web &#8211; a quick backup in case of accidents</strong>. <em>Interfaces,</em> <strong>65</strong>, pp. 6-7. Winter 2005.<br />
<a href="http://www.hcibook.com/alan/papers/brain-and-web-2005/">http://www.hcibook.com/alan/papers/brain-and-web-2005/</a>  [<a href="#footnote-link-5-42">back</a>]</li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.alandix.com/blog/2007/11/09/matterealities-and-the-physical-embodiment-of-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

