<?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>AI Playground &#187; Physik</title>
	<atom:link href="http://www.aiplayground.org/thema/physik/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aiplayground.org</link>
	<description>Thoughts on artificial intelligence, cognitive science, academia, and life in general.</description>
	<lastBuildDate>Thu, 25 Mar 2010 22:04:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>G&#246;dels Unvollst&#228;ndigkeitssatz in der Physik</title>
		<link>http://www.aiplayground.org/artikel/goedel-physik/</link>
		<comments>http://www.aiplayground.org/artikel/goedel-physik/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 21:25:51 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Mathematik]]></category>
		<category><![CDATA[Physik]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.aiplayground.org/?p=300</guid>
		<description><![CDATA[G&#246;dels erster Unvollst&#228;ndigkeitssatz besagt, dass jedes formale System, das widerspruchsfrei ist und das gewisse elementare Arithmetik erlaubt, unvollst&#228;ndig ist bez&#252;glich der Aussagen dieser Arithmetik. F&#252;r ZFC, das Axiomensystem, das die Grundlage f&#252;r gro&#223;e Teile der Mathematik und damit auch f&#252;r den mathematischen Teil der Physik bildet, sind die Voraussetzungen f&#252;r G&#246;dels Unvollst&#228;ndigkeitssatz erf&#252;llt: Wenn das [...]]]></description>
			<content:encoded><![CDATA[<p>G&#246;dels erster <a href="http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems">Unvollst&#228;ndigkeitssatz</a> besagt, dass jedes formale System, das widerspruchsfrei ist und das gewisse elementare Arithmetik erlaubt, unvollst&#228;ndig ist bez&#252;glich der Aussagen dieser Arithmetik. F&#252;r ZFC, das Axiomensystem, das die Grundlage f&#252;r gro&#223;e Teile der Mathematik und damit auch f&#252;r den mathematischen Teil der Physik bildet, sind die Voraussetzungen f&#252;r G&#246;dels Unvollst&#228;ndigkeitssatz erf&#252;llt: Wenn das System widerspruchsfrei ist, so ist es unvollst&#228;ndig bez&#252;glich seiner arithmetischen Aussagen. Was bedeutet das f&#252;r die Physik? </p>
<p><a href="http://pirate.shu.edu/~jakistan/JakiGodel.pdf">Stanley Jaki</a> und <a href="http://www.damtp.cam.ac.uk/strings02/dirac/hawking/">Stephen Hawking</a> argumentieren, dass G&#246;dels Satz (bzw. eine Analogie dazu) impliziert, dass es niemals eine Theory of Everything (TOE) geben kann, eine vereinheitlichte Theorie, die alle physikalischen Ph&#228;nomene verkn&#252;pft und erkl&#228;rt.</p>
<p><a href="http://www.amazon.com/dp/1568812388">Torkel Franzen</a> dagegen bezweifelt in [1] die Relevanz der arithmetischen Unvollst&#228;ndigkeit f&#252;r die Aussagen einer solchen Theorie:</p>
<blockquote><p>G&#246;del&#8217;s theorem only tells us that there is an incompleteness in the arithmetical component of the theory. The basic equations of physics, whatever they may be, cannot indeed decide every arithmetical statement, but whether or not they are complete considered as a description of the physical world, and what completeness might mean in such a case, is not something that the incompleteness theorem tells us anything about.</p></blockquote>
<p>Die G&#246;delsche Unvollst&#228;ndigkeit eines formalen Systems bedeutet, dass das System S&#228;tze enth&#228;lt, die als Aussagen &#252;ber die nat&#252;rlichen Zahlen interpretiert werden k&#246;nnen und f&#252;r die aus den Axiomen weder die S&#228;tze selbst noch deren Negationen abgeleitet werden k&#246;nnen. Eine widerspruchsfreie TOE, die gewisse elementare Arithmetik erlaubt, w&#252;rde damit manche Gleichungen prinzipiell nicht entscheiden k&#246;nnen.</p>
<p>Die physikalische Welt an sich kennt keinen Status &#8220;unentscheidbar&#8221; — k&#246;nnte eine TOE dann nicht ebenfalls ohne einen solchen auskommen? Das w&#252;rde bedeuten, dass mindestens eine der beiden Voraussetzungen f&#252;r G&#246;dels Satz in dieser Theorie nicht erf&#252;llt w&#228;re. Da die physikalische Welt auch den Status &#8220;widerspr&#252;chlich&#8221; nicht kennt, bliebe nur, die Annahme aufzugeben, dass die TOE gewisse elementare Arithmetik enth&#228;lt. Das hei&#223;t: Sie d&#252;rfte unter keiner Interpretation eine Theorie der nat&#252;rlichen Zahlen enthalten.</p>
<p>Was bleibt? Erstaunlich viel. Es gibt beispielsweise ein Axiomensystem f&#252;r die elementare Arithmetik der reellen Zahlen, das vollst&#228;ndig und widerspruchsfrei ist! Die Axiome dieses Systems erm&#246;glichen es nicht, die nat&#252;rlichen Zahlen als Untermenge herauszupicken. Aber braucht die Physik die nat&#252;rlichen Zahlen und deren Mathematik? Anders gefragt: Kennt die wirkliche Welt nat&#252;rliche Zahlen?</p>
<p><em>Ursprung der Idee: Diskussion im Seminar <a href="http://jotech.net/wiki/index.php?title=Weltbilder_der_Naturwissenschaft">Weltbilder der Naturwissenschaft</a> nach Lekt&#252;re von [1] <a href="http://www.amazon.com/dp/1568812388">G&#246;del&#8217;s Theorem: An Incomplete Guide to Its Use and Abuse</a>.</em> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aiplayground.org/artikel/goedel-physik/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Der Wandel der wissenschaftlichen Methode</title>
		<link>http://www.aiplayground.org/artikel/der-wandel-der-wissenschaftlichen-methode/</link>
		<comments>http://www.aiplayground.org/artikel/der-wandel-der-wissenschaftlichen-methode/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 13:24:40 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Künstliche Intelligenz]]></category>
		<category><![CDATA[Neurobiologie]]></category>
		<category><![CDATA[Physik]]></category>
		<category><![CDATA[Wissenschaft]]></category>
		<category><![CDATA[Zukunft]]></category>

		<guid isPermaLink="false">http://www.aiplayground.org/artikel/der-wandel-der-wissenschaftlichen-methode/</guid>
		<description><![CDATA[Lukas Biewald, ehemals NLP-Forscher im Stanford AI Lab: My job title is &#8220;Scientist&#8221;, but I never use the scientific method, at least as I remember it from 6th grade earth science where you make a hypothesis and test it with an experiment. Instead I mostly mine through data and look for patterns. In der experimentellen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://artificial-artificial-intelligence.com/">Lukas Biewald</a>, ehemals <acronym title="Natural Language Processing">NLP</acronym>-Forscher im Stanford AI Lab:</p>
<blockquote><p>
My job title is &#8220;Scientist&#8221;, but I never use the scientific method, at least as I remember it from 6th grade earth science where you make a hypothesis and test it with an experiment. Instead I mostly mine through data and look for patterns.
</p></blockquote>
<p>In der experimentellen Neurobiologie sieht es genauso aus, auch wenn wissenschaftliche Ver&#246;ffentlichungen hier noch immer nach dem Muster &#8220;Wir hatten folgende Hypothese, haben Sie &#252;berpr&#252;ft und sie hat sich als wahr herausgestellt&#8221; gestrickt sind. Mit dem tats&#228;chlichen Alltag eines Wissenschaftlers hat das wenig gemein.</p>
<p>Dass die herk&#246;mmliche wissenschaftliche Methode brauchbar ist, wenn man die Wahrheit dessen &#252;berpr&#252;fen will, was man zu wissen glaubt, aber dass sie einem nicht sagen kann, wohin man gehen soll, wusste schon <a href="http://www.aiplayground.org/artikel/zen/">Robert M. Pirsig</a>. Das ist nicht neu. </p>
<p>Neu ist, dass das Aufstellen von Hypothesen mehr und mehr automatisisert wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aiplayground.org/artikel/der-wandel-der-wissenschaftlichen-methode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Und es wurde Licht.</title>
		<link>http://www.aiplayground.org/artikel/universal/</link>
		<comments>http://www.aiplayground.org/artikel/universal/#comments</comments>
		<pubDate>Fri, 02 Mar 2007 19:17:06 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Philosophie]]></category>
		<category><![CDATA[Physik]]></category>

		<guid isPermaLink="false">http://www.aiplayground.org/artikel/und-es-wurde-licht/</guid>
		<description><![CDATA[Es braucht etwa 100 Zeilen Python-Code, um die Geschichte aller m&#246;glichen berechenbaren Universen zu berechnen. 100 Zeilen, um alles zu berechnen, was je berechnet werden kann. Die Physik unseres Universums ist m&#246;glicherweise berechenbar. PLAIN TEXT PYTHON: I, L, R, S = 0, 1, 2, 3 ENCODING = &#91; #&#160; &#160;(&#34;111110&#34;, &#34;,&#34;), &#160; &#160; &#40;"11110" , [...]]]></description>
			<content:encoded><![CDATA[<p>Es braucht etwa 100 Zeilen Python-Code, um die Geschichte <em>aller m&#246;glichen berechenbaren Universen</em> zu berechnen. 100 Zeilen, um alles zu berechnen, was <a href="http://de.wikipedia.org/wiki/Church-Turing-These">je berechnet werden kann</a>. Die Physik unseres Universums <a href="http://www.idsia.ch/~juergen/computeruniverse.html">ist m&#246;glicherweise berechenbar</a>.</p>
<div class="igBar"><span id="lpython-2"><a href="#" onclick="javascript:showPlainTxt('python-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PYTHON:</span>
<div id="python-2">
<div class="python">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">I, L, R, S = <span style="color: #ff4500;color:#800000;">0</span>, <span style="color: #ff4500;color:#800000;">1</span>, <span style="color: #ff4500;color:#800000;">2</span>, <span style="color: #ff4500;color:#800000;">3</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ENCODING = <span style="color: black;">&#91;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #979797; font-style: italic;">#&nbsp; &nbsp;(&quot;111110&quot;, &quot;,&quot;),</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: black;">&#40;</span><span style="color: #2B9030;">"11110"</span> , <span style="color: #2B9030;">"S"</span><span style="color: black;">&#41;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: black;">&#40;</span><span style="color: #2B9030;">"1110"</span>&nbsp; , <span style="color: #2B9030;">"L"</span><span style="color: black;">&#41;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: black;">&#40;</span><span style="color: #2B9030;">"110"</span>&nbsp; &nbsp;, <span style="color: #2B9030;">"R"</span><span style="color: black;">&#41;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: black;">&#40;</span><span style="color: #2B9030;">"10"</span>&nbsp; &nbsp; , <span style="color: #2B9030;">"1"</span><span style="color: black;">&#41;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #979797; font-style: italic;">#&nbsp; &nbsp;(&quot;0&quot;&nbsp; &nbsp; &nbsp;, &quot;0&quot;),</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: black;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">def</span> to_binary<span style="color: black;">&#40;</span>n<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">return</span> n == <span style="color: #ff4500;color:#800000;">0</span> <span style="color: #0B3BC6;font-weight: bold;">and</span> <span style="color: #2B9030;">"0"</span> <span style="color: #0B3BC6;font-weight: bold;">or</span> to_binary<span style="color: black;">&#40;</span>n&gt;&gt;<span style="color: #ff4500;color:#800000;">1</span><span style="color: black;">&#41;</span>.<span style="color: black;">lstrip</span><span style="color: black;">&#40;</span><span style="color: #2B9030;">"0"</span><span style="color: black;">&#41;</span> + <span style="color: #0B3BC6;">str</span><span style="color: black;">&#40;</span>n&amp;<span style="color: #ff4500;color:#800000;">1</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">def</span> to_decimal<span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">return</span> <span style="color: #0B3BC6;">sum</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">int</span><span style="color: black;">&#40;</span>n<span style="color: black;">&#41;</span> <span style="color: #0B3BC6;font-weight: bold;">and</span> <span style="color: #ff4500;color:#800000;">2</span>**pos <span style="color: #0B3BC6;font-weight: bold;">or</span> <span style="color: #ff4500;color:#800000;">0</span><span style="color: black;">&#41;</span> <span style="color: #0B3BC6;font-weight: bold;">for</span> <span style="color: black;">&#40;</span>pos, n<span style="color: black;">&#41;</span> <span style="color: #0B3BC6;font-weight: bold;">in</span> <span style="color: #0B3BC6;">enumerate</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#91;</span>::-<span style="color: #ff4500;color:#800000;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">class</span> HashableIntegerList<span style="color: black;">&#40;</span><span style="color: #0B3BC6;">list</span><span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> <span style="color: #000;">__init__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, sequence<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">list</span>.<span style="color: #000;">__init__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, <span style="color: black;">&#91;</span><span style="color: #0B3BC6;">int</span><span style="color: black;">&#40;</span>b<span style="color: black;">&#41;</span> <span style="color: #0B3BC6;font-weight: bold;">for</span> b <span style="color: #0B3BC6;font-weight: bold;">in</span> sequence<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> <span style="color: #000;">__str__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span><span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">return</span> <span style="color: #2B9030;">""</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #0B3BC6;">str</span><span style="color: black;">&#40;</span>n<span style="color: black;">&#41;</span> <span style="color: #0B3BC6;font-weight: bold;">for</span> n <span style="color: #0B3BC6;font-weight: bold;">in</span> <span style="color: #0B3BC6;">self</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> <span style="color: #000;">__hash__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span><span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">return</span> <span style="color: #0B3BC6;">self</span>.<span style="color: #000;">__str__</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: #000;">__hash__</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">class</span> TuringMachine:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> <span style="color: #000;">__init__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, rules, tape<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">tape</span>&nbsp; &nbsp; = HashableIntegerList<span style="color: black;">&#40;</span>tape<span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">state</span>&nbsp; &nbsp;= HashableIntegerList<span style="color: black;">&#40;</span><span style="color: #2B9030;">"0"</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">rules</span>&nbsp; &nbsp;= rules</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">stopped</span> = <span style="color: #0B3BC6;">False</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">invalid</span> = <span style="color: #0B3BC6;">False</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span>&nbsp; &nbsp; &nbsp;= <span style="color: #ff4500;color:#800000;">0</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> move<span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, direction<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> direction == S:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">stopped</span> = <span style="color: #0B3BC6;">True</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">elif</span> direction == L:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> <span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span> == <span style="color: #ff4500;color:#800000;">0</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">tape</span>.<span style="color: black;">insert</span><span style="color: black;">&#40;</span><span style="color: #ff4500;color:#800000;">0</span>, <span style="color: #ff4500;color:#800000;">0</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">else</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span> -= <span style="color: #ff4500;color:#800000;">1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">elif</span> direction == R:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> <span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span> == <span style="color: #0B3BC6;">len</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>.<span style="color: black;">tape</span><span style="color: black;">&#41;</span>-<span style="color: #ff4500;color:#800000;">1</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">tape</span>.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: #ff4500;color:#800000;">0</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span> += <span style="color: #ff4500;color:#800000;">1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> step<span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span><span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">try</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">state</span>, <span style="color: #0B3BC6;">self</span>.<span style="color: black;">tape</span><span style="color: black;">&#91;</span><span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span><span style="color: black;">&#93;</span>, <span style="color: #0B3BC6;">dir</span> = <span style="color: #0B3BC6;">self</span>.<span style="color: black;">rules</span><span style="color: black;">&#91;</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>.<span style="color: black;">state</span>, <span style="color: #0B3BC6;">self</span>.<span style="color: black;">tape</span><span style="color: black;">&#91;</span><span style="color: #0B3BC6;">self</span>.<span style="color: black;">pos</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">except</span> <span style="color: #0B3BC6;">KeyError</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">invalid</span> = <span style="color: #0B3BC6;">True</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">else</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">move</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">dir</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> run<span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span><span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">while</span> <span style="color: #0B3BC6;font-weight: bold;">not</span> <span style="color: #0B3BC6;">self</span>.<span style="color: black;">stopped</span> <span style="color: #0B3BC6;font-weight: bold;">and</span> <span style="color: #0B3BC6;font-weight: bold;">not</span> <span style="color: #0B3BC6;">self</span>.<span style="color: black;">invalid</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;">self</span>.<span style="color: black;">step</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">class</span> UniversalTuringMachine<span style="color: black;">&#40;</span>TuringMachine<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> <span style="color: #000;">__init__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, tape<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> tape.<span style="color: black;">count</span><span style="color: black;">&#40;</span><span style="color: #2B9030;">"111110"</span><span style="color: black;">&#41;</span> != <span style="color: #ff4500;color:#800000;">1</span>: <span style="color: #0B3BC6;">self</span>.<span style="color: black;">invalid</span> = <span style="color: #0B3BC6;">True</span>; <span style="color: #0B3BC6;font-weight: bold;">return</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; binary_machine_no, data_tape = tape.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #2B9030;">"111110"</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; rules = <span style="color: #0B3BC6;">self</span>.<span style="color: black;">get_rules</span><span style="color: black;">&#40;</span>binary_machine_no<span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; TuringMachine.<span style="color: #000;">__init__</span><span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, rules, data_tape<span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">def</span> get_rules<span style="color: black;">&#40;</span><span style="color: #0B3BC6;">self</span>, binary_machine_no<span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; binary_rules = <span style="color: #2B9030;">"110%s110"</span> % binary_machine_no</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">for</span> <span style="color: black;">&#40;</span>k, v<span style="color: black;">&#41;</span> <span style="color: #0B3BC6;font-weight: bold;">in</span> ENCODING:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; binary_rules = binary_rules.<span style="color: black;">replace</span><span style="color: black;">&#40;</span>k, v<span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; rules = <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; cur_rule_num = <span style="color: #ff4500;color:#800000;">0</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; tape_state = <span style="color: #ff4500;color:#800000;">0</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; cur_rule_parts = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">for</span> bin <span style="color: #0B3BC6;font-weight: bold;">in</span> binary_rules:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> bin <span style="color: #0B3BC6;font-weight: bold;">in</span> <span style="color: #2B9030;">"LRS"</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rule = <span style="color: #2B9030;">""</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>cur_rule_parts<span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> rule == <span style="color: #2B9030;">""</span>:&nbsp; rule = <span style="color: #2B9030;">"00"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> rule == <span style="color: #2B9030;">"1"</span>: rule = <span style="color: #2B9030;">"01"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int_state = HashableIntegerList<span style="color: black;">&#40;</span>to_binary<span style="color: black;">&#40;</span>cur_rule_num<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rules<span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>int_state, tape_state<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span> = <span style="color: black;">&#40;</span>HashableIntegerList<span style="color: black;">&#40;</span>rule<span style="color: black;">&#91;</span>:-<span style="color: #ff4500;color:#800000;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>, <span style="color: #0B3BC6;">int</span><span style="color: black;">&#40;</span>rule<span style="color: black;">&#91;</span>-<span style="color: #ff4500;color:#800000;">1</span>:<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>, <span style="color: #0B3BC6;">eval</span><span style="color: black;">&#40;</span>bin<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cur_rule_parts = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span>&nbsp; &nbsp;tape_state == <span style="color: #ff4500;color:#800000;">0</span>: tape_state = <span style="color: #ff4500;color:#800000;">1</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">elif</span> tape_state == <span style="color: #ff4500;color:#800000;">1</span>: tape_state = <span style="color: #ff4500;color:#800000;">0</span>; cur_rule_num += <span style="color: #ff4500;color:#800000;">1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">else</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cur_rule_parts.<span style="color: black;">append</span><span style="color: black;">&#40;</span>bin<span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">return</span> rules</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">def</span> universal_dovetailer<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; machines = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; num_steps = <span style="color: #ff4500;color:#800000;">0</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">while</span> <span style="color: #0B3BC6;">True</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">for</span> machine <span style="color: #0B3BC6;font-weight: bold;">in</span> machines:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">if</span> machine.<span style="color: black;">invalid</span> <span style="color: #0B3BC6;font-weight: bold;">or</span> machine.<span style="color: black;">stopped</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; machines.<span style="color: black;">remove</span><span style="color: black;">&#40;</span>machine<span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0B3BC6;font-weight: bold;">else</span>:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; machine.<span style="color: black;">step</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; new_machine = UniversalTuringMachine<span style="color: black;">&#40;</span>to_binary<span style="color: black;">&#40;</span>num_steps<span style="color: black;">&#41;</span> + <span style="color: #2B9030;">"1"</span><span style="color: black;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; machines.<span style="color: black;">append</span><span style="color: black;">&#40;</span>new_machine<span style="color: black;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; num_steps += <span style="color: #ff4500;color:#800000;">1</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0B3BC6;font-weight: bold;">if</span> __name__ == <span style="color: #2B9030;">"__main__"</span>:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; universal_dovetailer<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Was, wenn sich erweist, dass die am besten mit der Realit&#228;t &#252;bereinstimmenden physikalischen Theorien die sind, die <a href="http://de.wikipedia.org/wiki/Berechenbarkeit">berechenbar</a> sind? Wir k&#246;nnen simulieren, wie Billardkugeln zusammensto&#223;en und welche sich wohin bewegt. Ein simulierter Zusammensto&#223; ist kein echter Zusammensto&#223;. F&#252;r uns. F&#252;r ein simuliertes Wesen? F&#252;hrt die Simulation eines bewussten physikalischen Systems zu Bewusstsein?</p>
<p>Die Individualit&#228;t einer Person ist vom Muster des Zusammenspiels der Materie abh&#228;ngig, nicht von der Materie selbst. Die Atome jeder Zelle werden nach der Geburt eines Menschen viele Male ausgetauscht. Quantenphysikalisch gesehen sind zwei Teilchen einer Art sowieso nicht nur nicht unterscheidbar, sondern identisch. Wenn alle Protonen eines K&#246;rpers durch "andere" Protonen ersetzt werden, so hat das den Zustand nicht ver&#228;ndert. Teilchen <em>haben</em> keine Identit&#228;t.</p>
<p>Wenn die Physik unseres Universums berechenbar ist oder es keinen subjektiven Unterschied zwischen Bewusstsein und der Simulation von Bewusstsein gibt, so resultiert die Ausf&#252;hrung eines solchen Programms (ein "Universal Dovetailer") in <em>allen bewussten Erfahrungen</em>, die je ein Wesen haben kann. Unabh&#228;ngig davon, wie man "Wesen" oder "bewusste Erfahrung" definiert. </p>
<p>Aber: Ist die Erfahrung von Bewusstsein auch unabh&#228;ngig davon, ob bei der Ausf&#252;hrung des Programms, die — wie die Ausf&#252;hrung jedes Programms — in diskreten Schritten abl&#228;uft, ein Rechenschritt pro Nanosekunde oder ein Rechenschritt pro Jahr ausgef&#252;hrt wird? Auch dann, wenn w&#228;hrend des Jahres der Computer, auf dem das Programm ausgef&#252;hrt wird, ausgetauscht und nach Tokio verfrachtet wird? Auch dann, wenn das Ergebnis des Rechenschritts ein Jahr sp&#228;ter nicht direkt berechnet wird, sondern bei der Berechnung aller Permutationen der Sequenz von 0en und 1en auftaucht, die die L&#228;nge des erwarteten Rechenergebnisses hat?</p>
<p>Stathis Papaiaonnou <a href="http://www.mail-archive.com/singularity@v2.listbox.com/msg00436.html">schreibt</a> an die <a href="http://www.agiri.org/email/">Singularity-Mailingliste</a>:</p>
<blockquote><p>If you look at it the right way, anything could be a computation. This has been given by John Searle as a reductio ad absurdum against computationalism, and explored by several other authors (eg. Hilary Putnam, David Chalmers, Greg Egan). The usual counterargument is that in order to map a computation onto an arbitrary physical process, the mapping function must contain the computation already, but this is only significant for an external observer. The inhabitants of a virtual environment will not suddenly cease being conscious if all the manuals showing how an external observer might interpret what is going on in the computation are lost; it matters only that there is some such possible interpretation. Moreover, it is possible to map many computations to the one physical process. In the limiting case, a single state, perhaps the null state, can be mapped onto all computations.</p></blockquote>
<p>Welche Art von Kontinuit&#228;t ist f&#252;r bewusste Erfahrungen n&#246;tig?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aiplayground.org/artikel/universal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
