<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.darwinbots.com/index.php?action=history&amp;feed=atom&amp;title=Sunweaver</id>
		<title>Sunweaver - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.darwinbots.com/index.php?action=history&amp;feed=atom&amp;title=Sunweaver"/>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;action=history"/>
		<updated>2026-04-07T19:15:10Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;diff=5416&amp;oldid=prev</id>
		<title>PhiNotPi: Fixed typos</title>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;diff=5416&amp;oldid=prev"/>
				<updated>2014-02-15T00:13:03Z</updated>
		
		<summary type="html">&lt;p&gt;Fixed typos&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 00:13, 15 February 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is Numsgil's thought page to list all upgrades to the DNA language for a theoretical new DNA language, &amp;quot;codenamed&amp;quot; Sunweaver.&amp;#160; Sunweaver would run side by side with the existing DNA language in the program and provide non backwards compatible upgrades to the original DNA language.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is Numsgil's thought page to list all upgrades to the DNA language for a theoretical new DNA language, &amp;quot;codenamed&amp;quot; Sunweaver.&amp;#160; Sunweaver would run side by side with the existing DNA language in the program and provide non backwards compatible upgrades to the original DNA language.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This goes beyond a simple DNA specification too.&amp;#160; There are features included that wouldn't work well with the existing DNA.&amp;#160; Thus Sunweaver includes things like an enhanced metabolic system.&amp;#160; It should allow us to wipe the slate clean and start over, without losing the aspect of backwards &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;compatibilty&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This goes beyond a simple DNA specification too.&amp;#160; There are features included that wouldn't work well with the existing DNA.&amp;#160; Thus Sunweaver includes things like an enhanced metabolic system.&amp;#160; It should allow us to wipe the slate clean and start over, without losing the aspect of backwards &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;compatibility&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== General Guidelines ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== General Guidelines ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I haven't worked out the logistics of how to do these, but I'm enchanted with the ideas ;)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I haven't worked out the logistics of how to do these, but I'm enchanted with the ideas ;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Simoltaneous &lt;/del&gt;threads - The DNA would have multiple starting points.&amp;#160; Each starting point would run to completion, then give control to the next thread.&amp;#160; Each thread gets its own stack and copy of the bot's memory.&amp;#160; At the end of the DNA execution, the signals from the different threads would be combined into a final memory array.&amp;#160; UNRESOLVED ISSUE - How do you fairly combine the signals from the different threads?&amp;#160; A simple average might work, but there are issues with averaging signals to things like ID numbers.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Simultaneous &lt;/ins&gt;threads - The DNA would have multiple starting points.&amp;#160; Each starting point would run to completion, then give control to the next thread.&amp;#160; Each thread gets its own stack and copy of the bot's memory.&amp;#160; At the end of the DNA execution, the signals from the different threads would be combined into a final memory array.&amp;#160; UNRESOLVED ISSUE - How do you fairly combine the signals from the different threads?&amp;#160; A simple average might work, but there are issues with averaging signals to things like ID numbers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Real numbers - Replace the integers in current use with fixed point numbers between -1 and 1.&amp;#160; This allows for less discrete changes, which seems to be the way evolution likes it.&amp;#160; UNRESOLVED ISSUE - Can all sysvars be made to properly work over this range?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Real numbers - Replace the integers in current use with fixed point numbers between -1 and 1.&amp;#160; This allows for less discrete changes, which seems to be the way evolution likes it.&amp;#160; UNRESOLVED ISSUE - Can all sysvars be made to properly work over this range?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* A neural net &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;constructructed &lt;/del&gt;with codules being the neurons instead of simple signal modifiers.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* A neural net &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;constructed &lt;/ins&gt;with codules being the neurons instead of simple signal modifiers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key DarwinbotsWiki-DBWK_:diff:version:1.11a:oldid:4086:newid:5416 --&gt;
&lt;/table&gt;</summary>
		<author><name>PhiNotPi</name></author>	</entry>

	<entry>
		<id>http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;diff=4086&amp;oldid=prev</id>
		<title>Numsgil at 10:44, 3 January 2007</title>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;diff=4086&amp;oldid=prev"/>
				<updated>2007-01-03T10:44:55Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:44, 3 January 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot; &gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* All commands and codules have a fixed input and output list that's always the same.&amp;#160; That means that the DNA is always deterministic in its flow '''within a codule''', even with different stimuli.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* All commands and codules have a fixed input and output list that's always the same.&amp;#160; That means that the DNA is always deterministic in its flow '''within a codule''', even with different stimuli.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* DNA '''inside''' codules should be easily interpretable by a human reader.&amp;#160; This is to hopefully increase accessibility to long term evolved genomes.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sysvars ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sysvars ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot; &gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Real numbers - Replace the integers in current use with fixed point numbers between -1 and 1.&amp;#160; This allows for less discrete changes, which seems to be the way evolution likes it.&amp;#160; UNRESOLVED ISSUE - Can all sysvars be made to properly work over this range?&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Real numbers - Replace the integers in current use with fixed point numbers between -1 and 1.&amp;#160; This allows for less discrete changes, which seems to be the way evolution likes it.&amp;#160; UNRESOLVED ISSUE - Can all sysvars be made to properly work over this range?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* A neural net constructructed with codules being the neurons instead of simple signal modifiers.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key DarwinbotsWiki-DBWK_:diff:version:1.11a:oldid:2356:newid:4086 --&gt;
&lt;/table&gt;</summary>
		<author><name>Numsgil</name></author>	</entry>

	<entry>
		<id>http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;diff=2356&amp;oldid=prev</id>
		<title>Numsgil at 10:34, 3 January 2007</title>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Sunweaver&amp;diff=2356&amp;oldid=prev"/>
				<updated>2007-01-03T10:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is Numsgil's thought page to list all upgrades to the DNA language for a theoretical new DNA language, &amp;quot;codenamed&amp;quot; Sunweaver.  Sunweaver would run side by side with the existing DNA language in the program and provide non backwards compatible upgrades to the original DNA language.&lt;br /&gt;
&lt;br /&gt;
This goes beyond a simple DNA specification too.  There are features included that wouldn't work well with the existing DNA.  Thus Sunweaver includes things like an enhanced metabolic system.  It should allow us to wipe the slate clean and start over, without losing the aspect of backwards compatibilty.&lt;br /&gt;
&lt;br /&gt;
== General Guidelines ==&lt;br /&gt;
The following are general guidelines to guide the development of the language.  I'll try to organize this better as the page grows:&lt;br /&gt;
&lt;br /&gt;
* As many sysvars and commands as possible are stretched or pulled to have domain and ranges in the interval [-1000, 1000].  In general, values out of this range are modded into it.  The exception to this rule is &lt;br /&gt;
&lt;br /&gt;
* Where possible, sysvars are used for both input and output.  That is, the two sysvars fixpos and fixed would be combined into a single sysvar.  Reading the value would tell you your current fixed state.  Changing the value of the sysvar would initiate a request to change the fixed state.  The only &amp;quot;downside&amp;quot; is that you can't tell what your current state is after you modify the value.&lt;br /&gt;
&lt;br /&gt;
* Bots have no absolute knowledge about their position, orientation, or most other &amp;quot;global&amp;quot; data.  One exception is that bots do know their absolute velocity.  The reasoning is that in the majority of situations, bots would be aware of the ground passing under them or the fluid rushing across them.&lt;br /&gt;
&lt;br /&gt;
* Sysvars which previously returned limited information, or took limited information, are modified to accept and give more data.  For instance, .shoot is split into different sysvars such as .bodyshot, etc.  These new sysvars accept values that were previously given for .shootval.&lt;br /&gt;
&lt;br /&gt;
* The current nrg/body/waste model is upgraded to a fat/muscle/nrg/waste model. Outlined below (later).&lt;br /&gt;
&lt;br /&gt;
* Codules would be implemented.&lt;br /&gt;
&lt;br /&gt;
* All commands and codules have a fixed input and output list that's always the same.  That means that the DNA is always deterministic in its flow '''within a codule''', even with different stimuli.&lt;br /&gt;
&lt;br /&gt;
== Sysvars ==&lt;br /&gt;
* Memory locations 1-500 would be reserved for personal use by bots.  Memory 1-100 is epigenetic, being passed on to offspring automatically.  Memory locations 501-1000 are reserved for sysvars.&lt;br /&gt;
&lt;br /&gt;
== Possible features ==&lt;br /&gt;
I haven't worked out the logistics of how to do these, but I'm enchanted with the ideas ;)&lt;br /&gt;
&lt;br /&gt;
* Simoltaneous threads - The DNA would have multiple starting points.  Each starting point would run to completion, then give control to the next thread.  Each thread gets its own stack and copy of the bot's memory.  At the end of the DNA execution, the signals from the different threads would be combined into a final memory array.  UNRESOLVED ISSUE - How do you fairly combine the signals from the different threads?  A simple average might work, but there are issues with averaging signals to things like ID numbers.&lt;br /&gt;
&lt;br /&gt;
* Real numbers - Replace the integers in current use with fixed point numbers between -1 and 1.  This allows for less discrete changes, which seems to be the way evolution likes it.  UNRESOLVED ISSUE - Can all sysvars be made to properly work over this range?&lt;/div&gt;</summary>
		<author><name>Numsgil</name></author>	</entry>

	</feed>