<?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>Raelifin.com &#187; Raelifin</title>
	<atom:link href="http://raelifin.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://raelifin.com</link>
	<description>Deus ex Machina</description>
	<lastBuildDate>Sun, 04 Jul 2010 01:45:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Beyond Popper</title>
		<link>http://raelifin.com/thoughts/beyond-popper/</link>
		<comments>http://raelifin.com/thoughts/beyond-popper/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 14:33:30 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Bayesian ideas]]></category>
		<category><![CDATA[Critical Rationalism]]></category>
		<category><![CDATA[epistemology]]></category>
		<category><![CDATA[knowledge]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[prediction]]></category>
		<category><![CDATA[truth]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=433</guid>
		<description><![CDATA[I was having a conversation with a friend of mine recently about the nature of knowledge. As with just about any discussion of epistemology with me, much of the conversation was about critical rationalism. In this discussion, I came to realize something. One of the key foundations of critical rationalism is the idea that no [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/45/138208658_228a260331_m.jpg" style="float: right; margin-left: 10px; margin-bottom: 10px;"/>I was having a conversation with a friend of mine recently about the nature of knowledge. As with just about any discussion of epistemology with me, much of the conversation was about critical rationalism. In this discussion, I came to realize something. One of the key foundations of critical rationalism is the idea that no amount of evidence can prove an idea to be true, but a single piece of evidence can refute/disprove an idea. I see this as paradoxical.</p>
<p><span id="more-433"></span></p>
<p>For example, if I have a stone, I might form the hypothesis that the mass of the stone is 30g. To test this, I might weigh the stone. Implicit here is the idea that what is recorded from the scale is the mass of the stone. Once I read the scale, I have the following ideas:</p>
<p>(A) The scale says &#8220;45g&#8221;.<br />
(B) The mass of the stone is 30g.<br />
(C) The scale is an accurate measure of the stone&#8217;s mass.</p>
<p>If all three were true, there would be a contradiction, so I can conclude that one or more of my ideas must be false. The problem with falsification is that I have no logical reason to favor A &#038; C (false hypothesis), over A &#038; B (bad scale), B &#038; C (bad eyesight), or others. Ultimately, I cannot refute anything with absolute certainty, so I cannot disprove.</p>
<p>This difficulty can be reduced by what I like to think of as the inductivist section of critical rationalism (I&#8217;ll show why in a moment). Wikipedia says that, with respect to hypotheses, &#8220;differentiation may be made on the basis of how much subjection to criticism they have received, [and] how severe such criticism has been&#8221;. In my example, none of the three ideas has been criticised, but it&#8217;s easy to imagine a scenario where the accuracy of the scale had been previously tested.</p>
<p>There are, unfortunately, two problems with this reasoning: (1) the scale requires evidence to test, so we still have the &#8220;which conjecture do we accept&#8221; problem at an earlier point, and (2) we still have two conjectures to decide between (A&#038;B). What most critical rationalists will likely turn to is the difference between unsubstantiated conjectures (B) and those based on observation. It&#8217;s important to remember that hypothesis A is still conjectural, but we can grant it a sort of &#8220;natural critisism&#8221; stemming from our perception.</p>
<p>Here&#8217;s the rub: lending a heigher weight to any of our conjectures still doesn&#8217;t allow any refutation to logically occur. The only way to do that would be to accept something as true after enough observation, and this is exacly what everyone does (including critical rationalists), but CR brushes off as illegitimate.</p>
<p>At this point, one might turn to belief weights in order to avoid having to assign a binary value to a hypothesis (and the fallacy of inference). Unfortunately, any sort of updates to belief weights requires knowledge that is assumed to be true; it doesn&#8217;t actually let you move from a state of unsubstantiated conjecture to one of informed belief. In other words, it requires prior knowledge, which, as discussed earlier, we can&#8217;t logically obtain.</p>
<p>As an example, let&#8217;s say I have a hypothesis that a zebra exists and then I perceive a zebra. What weight do I give my hypothesis? In order to find it, I must know how accurate my perception is. For example, if hallucinating a zebra is equally probable to seeing a real zebra, there is a 50/50 chance that the zebra actually exists. But let&#8217;s say that I am not given a value for how accurate my perception is&#8230; how do I determine the likelihood of false positives, etc? The natural answer is to make a bunch of observations, and test to see if they were &#8220;correct&#8221;&#8230; except to do that, you&#8217;d need to assume the training labels (&#8220;correct/incorrect&#8221;) were true! If you want to evaluate the accuracy of the training labels, you have to assume some other input is true. The catch 22 ensures that <strong>you cannot logically produce a factual statement (even a probabilistic one) about the world without having been given other (binary) factual statements</strong>.</p>
<p>Unless I&#8217;m overlooking an infallible source of knowledge, I can conclude that nobody in the entire universe has any knowledge (that is, factual data) of the universe&#8230; and never will. Not even an infinite intelligence would be able to know anything about reality.</p>
<p>To escape this agnosticism, I might suggest that when we look like we&#8217;re doing logic, we&#8217;re actually not (at least, not formally). For instance, if the scale reads &#8220;45g&#8221;, I might simply accept that the stone is 45g and reject my old hypothesis, not through logic, but through common sense. The problem here is that common sense is a blanket term used to describe mental tasks that are easily done by people, but we don&#8217;t understand explicitly. Doing something via &#8220;common sense&#8221; is a lot like dying from &#8220;old age&#8221;; it&#8217;s just not a useful term. To make things worse, humans generally seem to reject paradox and use deduction, so we can be confident that something <em>very close</em> to formal logic is going on mentally.</p>
<p>My theory is that ideas are not evaluated based on truth, but based on the <strong>utility that comes from predictive power</strong>. Prediction, here, is based on sensory data, as opposed to objective reality. Unlike reality, we can be sure of our sensors as long as we think of the sensors as &#8220;inputs&#8221;. Let me give some examples&#8230;</p>
<p>I find a stone and decide to weigh it. I predict that the measured mass of the stone will be 30g. I put the stone on a scale, and it says 45g. My prediction had a significant error, so I discard it as being non-useful. Because I&#8217;d like to be able to predict the stone&#8217;s mass I form a new prediction that the mass is 45g (informed hypothesizing). I can use my memory to test the prediction&#8230; it works! This retrospective success reinforces the expected predictive power of that hypothesis. This explains why a hypothesis that matches previously observed data is granted more weight, and why one that doesn&#8217;t is discarded (falsification).</p>
<p>Let me give an example. Little Andrea sees a crow that is black. She conjectures that all crows are black (or more simply: &#8220;crows are black&#8221;). She sees another black crow. Prediction reinforced. She asks her mom what color crows are. Prediction reinforced. She sees a green apple (non-black non-crow). Observation is outside prediction scope; no change. At the age of 46, Andrea meets a street performer with an albino crow. Prediction failed. She notes &#8220;Oh, how strange&#8230; a white crow!&#8221; Prediction weakened slightly, but still retained, because in the vast majority of cases it&#8217;s useful to guess that crows are black. After seeing enough white crows she may reject her initial generalization and adopt a more probabilistic one (about 90% of ravens are black), but since a probabilistic idea has intrinsically less predictive power (and is harder for humans to measure*), they are under-weighted and often avoided (leading to accident fallacies and others).</p>
<p>I could wander from here into my theories of semantic memory, but I&#8217;ll try to stick with critical rationalism to finish my thought. When Popper started, what he sought was to step away from justification, the practice of trying to support currently held ideas. In the service of this, the claim was made that one can disprove an idea, but not prove one. Though I&#8217;ve come to reject this claim, I don&#8217;t think that critical rationalism is a bad approach.</p>
<p>Justificationalism comes out of a natural tendency to want to be right, and it appeals to this bias even when a more open mind might find more effective ideas. Critical rationalism avoids this by forcing each person to listen to other arguments in order to determine how they might fail.</p>
<p>Critical rationalism also avoids the trap of adding weight to a theory because of selective observation. For instance, if I have the theory that &#8220;proteins are a kind of enzyme&#8221;, I might seek to &#8220;confirm&#8221; it by looking for enzymatic proteins. This will bias my data set so that it appears that the idea is effective, when it actually isn&#8217;t. Critical rationalism will naturally disrupt this bias with a second bias of seeking data that doesn&#8217;t fit the theory. Because an idea that is predictive only, say, 80% of the time isn&#8217;t very useful, this bias is helpful in pushing us towards more consistently accurate ideas.</p>
<p>One might suggest that when people say &#8220;truth&#8221; they mean &#8220;predictive power&#8221;. If this is true, I can easily show where Popper&#8217;s ideology fails. No prediction will be correct 100% of the time; our sensors are fallible. An idea that fails shouldn&#8217;t be rejected as &#8220;falsified&#8221; if it&#8217;s still accurate almost all of the time. F=ma is still a really important piece of knowledge. In this way, induction works.</p>
<p style="color: #777">* &#8211; Probabilistic ideas work differently for different forms of memory. Associative memory, the kind of thought that we use when making split-second decisions, is very probabilistic. For example, it is easy to have a gut feeling that a deck of cards is about half black and half red. Semantic knowledge, the kind of idea that we use consciously, doesn&#8217;t work so well with such things. I cannot imagine a person being able to tell you what proportion of a pile of cards is clubs unless they do some mental math.</p>
<p>Photo credit: <a href="http://www.flickr.com/photos/swissbones/138208658/">swissbones on Flickr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/thoughts/beyond-popper/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Why is it so annoying to be wrong?</title>
		<link>http://raelifin.com/thoughts/why-is-it-so-annoying-to-be-wrong/</link>
		<comments>http://raelifin.com/thoughts/why-is-it-so-annoying-to-be-wrong/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:12:07 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[criticism]]></category>
		<category><![CDATA[emotion]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[Psychology]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=421</guid>
		<description><![CDATA[The all-important black swan If someone is interested in the truth, it&#8217;d be a blessing to them to learn exactly what falsehoods they believe. An ideal truth-seeker would love to be wrong, because it would give them the chance to improve their ideas. This is the basis of scientific thinking, but it&#8217;s not a very [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right; border: thin solid; width: 250px; margin-left: 10px; margin-bottom: 10px; text-align: center; padding-top: 2px;"><img src="http://farm1.static.flickr.com/39/86349266_e531245ee9_m.jpg" style="margin: 0px" alt="Black Swan" /><br />
The all-important <a href="http://en.wikipedia.org/wiki/Black_swan_theory">black swan</a></p>
<p>If someone is interested in the truth, it&#8217;d be a blessing to them to learn exactly what falsehoods they believe. An ideal truth-seeker would love to be wrong, because it would give them the chance to improve their ideas. This is the basis of scientific thinking, but it&#8217;s not a very good description of how people actually behave. Most people (especially those with little <em>training</em>) react defensively to criticisms of their ideas and show a strong preference of comfortably holding familiar ideas rather than putting them to the test. Why is this?</p>
<p><span id="more-421"></span></p>
<p>Some of this bias can be explained by a desire for familiarity (&#8220;if democrats are wrong than my whole <em>world-view</em> would fall apart&#8221;) and an attachment of self-esteem to being right (&#8220;only <em>bad</em> people are wrong&#8221;), but I think I&#8217;ve stumbled across another, more biological, explanation.</p>
<p>Imagine some ancestral hominids try two kinds of fruit: one kind that is delicious, and one kind that is poisonous. Those who eat the poisonous fruit spend all night in terrible pain, but eventually recover and learn to eat the good fruit. Twenty years later, some of the same hominids return to the grove with the two fruit. It&#8217;s been a while, so maybe they&#8217;ve forgotten about the good fruit, but they certainly haven&#8217;t forgotten about the poisonous one. The reason for this is that brain weights memories surrounding unpleasant events more heavily than pleasant ones. In short: it&#8217;s more important to remember what could&#8217;ve killed you or your family than just about anything else.</p>
<p>This mnemonic weighting is present in rats and other animals only distantly related to humans, so it&#8217;s sensible to conclude that it developed in a very primitive animal, far before logical reasoning, language and culture. When it became possible to reason about the world, humans were stuck with their old equipment for remembering. It was still more important to remember mistakes (even if they were mistakes of reasoning), but rather than build an emotionality-neutral way to add weight to such fallacies, evolution took the shortcut of adding unpleasant feelings to logical errors. By making it annoying and embarrassing to be wrong, evolution ensured we&#8217;d learn our lesson. Many years later, when scientific thought has become important, we&#8217;re left with the reality that, by default, people tend to avoid criticism.</p>
<p style="color: #666">(Photo credit: <a href="http://www.flickr.com/photos/idmaer/86349266/">http://www.flickr.com/photos/idmaer/86349266/</a> Licensed under Creative Commons Attribution-Noncommercial-Share Alike 2.0 Generic)</p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/thoughts/why-is-it-so-annoying-to-be-wrong/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Autocell 2</title>
		<link>http://raelifin.com/code/autocell-2/</link>
		<comments>http://raelifin.com/code/autocell-2/#comments</comments>
		<pubDate>Sat, 29 May 2010 16:42:22 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Autocell]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=378</guid>
		<description><![CDATA[I&#8217;ve updated Autocell to version 2. In addition to cleaning up the code, adding better error handling, and (I hope) improving the interface slightly, I&#8217;ve made the following changes to the rules: You can now set cells to be drawn as images. Defining the image a cell should use is as simple as making a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://raelifin.com/files/autocell/autocell2/">I&#8217;ve updated Autocell to version 2</a>. In addition to cleaning up the code, adding better error handling, and (I hope) improving the interface slightly, I&#8217;ve made the following changes to the rules:</p>
<ul>
<li>You can now set cells to be drawn as images. Defining the image a cell should use is as simple as making a rule of &#8220;draw &lt;CELLTYPE&gt; &lt;URL&gt;&#8221; (See Langton&#8217;s Ant for example.)</li>
<li>The directions northeast, northwest, etc. have been added, as have fareast, farnorth, etc. The &#8220;far____&#8221; directions refer to cells two steps away.</li>
<li>The special noun &#8220;neighbors&#8221; now includes the NULL cells at the border.</li>
<li>New verbs &#8220;cellAt&#8221; and &#8220;neighborsOf&#8221; have been added. They both take a 2-by-1 array ([x,y]) of the cell in question as their right-parameter. The &#8220;cellAt&#8221; verb returns the type of the cell in question, while &#8220;neighborsOf&#8221; returns the set of neighbors.</li>
<li>A new two-parameter verb &#8220;+&#8221; has been added. Right now it only operates on the 2-by-1 coordinate arrays discussed above. (Example: [1,-10] + [23,7] = [24,-3])</li>
<li>In the same vein, a new special noun called &#8220;thisPos&#8221; has been added. It is the coordinates of the cell being evaluated.</li>
</ul>
<p>That&#8217;s all!</p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/code/autocell-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Learning Python</title>
		<link>http://raelifin.com/code/learning-python/</link>
		<comments>http://raelifin.com/code/learning-python/#comments</comments>
		<pubDate>Wed, 26 May 2010 18:10:36 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[text-based]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=375</guid>
		<description><![CDATA[It&#8217;s not that interesting, but I made a little one-player text-based RPG in python (3.1.2) this morning/last night. I&#8217;m happy with it, just because it&#8217;s the largest thing I&#8217;ve ever done in python. The whole thing is based off of this blog post. You can get the source code here: http://raelifin.com/files/code/rcrpg.py It&#8217;s all public domain, [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not that interesting, but I made a little one-player text-based RPG in python (3.1.2) this morning/last night. I&#8217;m happy with it, just because it&#8217;s the largest thing I&#8217;ve ever done in python. The whole thing is <a href="http://web.archive.org/web/20080212201605/http://shortcircuit.us/muddy-kinda-like-a-mud-but-single-player/">based off of this blog post</a>. You can get the source code here: <a href="http://raelifin.com/files/code/rcrpg.py">http://raelifin.com/files/code/rcrpg.py</a><br />
It&#8217;s all public domain, but I like credit (yada, yada).</p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/code/learning-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mini-Project: Autocell</title>
		<link>http://raelifin.com/code/mini-project-autocell/</link>
		<comments>http://raelifin.com/code/mini-project-autocell/#comments</comments>
		<pubDate>Thu, 20 May 2010 06:12:27 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Autocell]]></category>
		<category><![CDATA[cellular automata]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rapid-prototype]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=356</guid>
		<description><![CDATA[My latest quick project was to write a basic scripting language for building cellular automata. The framework is built on javascript, and I made a nice little interface to go with it. As long as you&#8217;re using a browser that isn&#8217;t terrible, you can check it out here. All the code on that page except [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0 0 10px 10px; float: right;" src="http://raelifin.com/files/screenshots/autocell_screenshot.png"/>My latest quick project was to write a basic scripting language for building <a href="http://en.wikipedia.org/wiki/Cellular_automata">cellular automata</a>. The framework is built on javascript, and I made a nice little interface to go with it. As long as you&#8217;re using a browser that isn&#8217;t terrible, you can <a href="http://raelifin.com/files/autocell1.html">check it out here</a>. All the code on that page except the utility functions is public domain, but please give credit where credit is due. If you end up examining the source, I apologize for the mess; I was trying to fit everything in one file, and not use jQuery or other libraries.</p>
<p><span id="more-356"></span></p>
<p>For those interested in writing your own automata, here is a quick guide to the syntax:<br />
An automaton is composed of rules. Each rule is designated by a new line. Double slash (//) or pound (#) designate a commented line.<br />
Each rule looks something like <strong>BLACK->WHITE: 1 = 2</strong><br />
BLACK is the type of cell that the rule applies to, WHITE is the type of cell that it will become. After the colon is a statement that must resolve to a single value, or &#8220;noun&#8221;.<br />
Nouns can be strings, numbers, true/false, JSON arrays, &#8220;neighbors&#8221;, or any of the cardinal directions (lower-case). The noun &#8220;neighbors&#8221; is a special noun which is a JSON array with values equal to the types of the surrounding tiles (in eight directions). The special nouns &#8220;west&#8221;, &#8220;north&#8221;, &#8220;south&#8221; and &#8220;east&#8221; are equal to the type in that direction, or &#8220;NULL&#8221; if at the edge.<br />
Nouns can be acted upon by the following &#8220;verbs&#8221;:
<ul>
<li><strong>=</strong>, <strong>></strong>, <strong><</strong> &#8212; Basic comparison operators. They behave like their counterparts in javascript (except for =, which is comparison, not assignment). &#8212; example: &#8220;1 > 2 = false&#8221; (returns true)</li>
<li><strong>or</strong>, <strong>and</strong> &#8212; Low-priority logic operators. These behave like || and &#038;&#038; in most languages. Low-priority means they are evaluated after other verbs. &#8212; example: &#8220;true and false or true&#8221; (returns true)</li>
<li><strong>not</strong> &#8212; Inverts the boolean value to the right. If the value to the right is non-boolean, it is cast to a boolean just like ! in javascript. &#8212; example: &#8220;not true&#8221; (returns false)</li>
<li><strong>contains</strong>, <strong>isIn</strong> &#8212; Check if a value is contained in an array. The two verbs are identical except in the order of their parameters (&#8220;value isIn array&#8221;, or &#8220;array contains value&#8221;). &#8212; example: &#8220;[1,2,3] contains 0&#8243; (returns false)</li>
<li><strong>count</strong> &#8212; Changes the noun on the right from an array to an integer. &#8212; example: &#8220;count [0,1,2]&#8221; (returns 3)</li>
<li><strong>ofType</strong> &#8212; Filters an array on the left to only contain the value on the right. &#8212; example: &#8220;[0,0,0,1,2,3] ofType 0&#8243; (returns [0,0,0])</li>
<li><strong>echo</strong> &#8212; Makes a popup containing the value on the right. Does not change the data. This verb isn&#8217;t very useful, and can flood your browser with popups if you aren&#8217;t careful.</li>
</ul>
<p>Verbs are evaluated from left-to-right, but you can use parentheses to change the order of operations. More examples can be found by loading the prebuilt automata.</p>
<p>I know the interface is a bit hard to use, but if you make anything (even if it&#8217;s pretty trivial) please leave a comment! You can export boards as well, so feel free to share interesting formations in <a href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life">Conway&#8217;s Game of Life</a>, <a href="http://en.wikipedia.org/wiki/Wireworld">Wireworld</a>, or others.</p>
<p>On a related note, this talk by Wolfram is not to be missed:<br />
<object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/StephenWolfram_2010-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/StephenWolfram-2010.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=843&#038;introDuration=15330&#038;adDuration=4000&#038;postAdDuration=830&#038;adKeys=talk=stephen_wolfram_computing_a_theory_of_everything;year=2010;theme=tales_of_invention;theme=bold_predictions_stern_warnings;theme=what_s_next_in_tech;theme=new_on_ted_com;theme=a_taste_of_ted2010;theme=unconventional_explanations;theme=art_unusual;theme=inspired_by_nature;event=TED2010;&#038;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/StephenWolfram_2010-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/StephenWolfram-2010.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=843&#038;introDuration=15330&#038;adDuration=4000&#038;postAdDuration=830&#038;adKeys=talk=stephen_wolfram_computing_a_theory_of_everything;year=2010;theme=tales_of_invention;theme=bold_predictions_stern_warnings;theme=what_s_next_in_tech;theme=new_on_ted_com;theme=a_taste_of_ted2010;theme=unconventional_explanations;theme=art_unusual;theme=inspired_by_nature;event=TED2010;"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/code/mini-project-autocell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mini-Project: Think Like a &#8220;Good Old AI&#8221; Researcher</title>
		<link>http://raelifin.com/thoughts/mini-project-think-like-gofai-researcher/</link>
		<comments>http://raelifin.com/thoughts/mini-project-think-like-gofai-researcher/#comments</comments>
		<pubDate>Wed, 12 May 2010 05:17:49 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[associative database]]></category>
		<category><![CDATA[GOFAI]]></category>
		<category><![CDATA[knowledge]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ontology]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[world-building]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=313</guid>
		<description><![CDATA[Those who&#8217;ve known me for many years will know that I love to create fictional worlds. They represent the epitome of complicated systems, with all of the messiness and detail of the real world combined with the flexibility required to satisfy my creative desires. Because of the immensity of world-building, at a certain point it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://phaedoras.raelifin.com/?q=describe+S%C3%A1r%C3%ADb%C3%A1"><img style="border: thick solid black; float: right; margin: 0 0 10px 10px; width: 250px;" src="http://raelifin.com/files/screenshots/family-tree.png" alt="Example Family Tree" /></a>Those who&#8217;ve known me for many years will know that I love to <a href="http://thecbg.org/news.php">create fictional worlds</a>. They represent the epitome of complicated systems, with all of the messiness and detail of the real world combined with the flexibility required to satisfy my creative desires. Because of the immensity of world-building, at a certain point it is absolutely necessary for the creator to maintain a solid body of notes on the various people, places, things, etc. in the setting. Worlds are nonlinear by nature, so it is very common to use a wiki to write things down, and it was in re-reading my own wiki-notes that I got an idea for another way to do things.</p>
<p><span id="more-313"></span></p>
<p>Specifically, I began to notice how few links my notes contained, and the difficulty I might have in changing small details (like names) across many pages. Wouldn&#8217;t it be nice, I thought, if I were able to tell my computer about my world, and have the computer organize and maintain my notes in a way that let me quickly and easily extract and change the underlying facts. Essentially, I was thinking about automating the world-building process by reducing a world into a data and making code to manipulate and present that data.</p>
<p>Because I had heard good things about <a href="http://en.wikipedia.org/wiki/Associative_model_of_data">associative databases</a>, I built one to handle the facts of the world and began entering items like<br />
<code style="margin-left: 20px;">Kogámos is_child_of Sáríbá</code><br />
(Yes, I know that&#8217;s a lot of accents). Associative databases (with exceptions, I&#8217;m sure) represent data <a href="http://en.wikipedia.org/wiki/Ontology">ontologically</a> (that is, as a collection of factual claims about entities), and in this way resemble the data structures of <a href="http://en.wikipedia.org/wiki/GOFAI">Good Old-Fashioned AI</a>*. Now, before I started this project I was very skeptical about logic-based <a href="http://en.wikipedia.org/wiki/Strong_AI">AGI</a>, but I knew that in some domains, (such as <a href="http://en.wikipedia.org/wiki/Expert_System">Expert Systems</a>) logic based <em>narrow</em> AI had become successful, so I set about exploring whether this was one such domain.</p>
<p style="color: #444">* &#8211; Really, this structure is common to all logic-based AI, even fuzzy-logic, modern approaches like <a href="http://sites.google.com/site/narswang/home">NARS</a>. Much of the criticism that follows can be applied to any sort of artificial reasoning system.</p>
<p>Before I go on, however, I&#8217;d like to share a documentary about the semantic web. It&#8217;s related, and I&#8217;ll be talking about it, but it&#8217;s 15 minutes and you could probably skip it if you&#8217;re familiar with the concept.</p>
<p style="text-align: center"><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11529540&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11529540&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p>With the possible exception of being able to make meta-facts (that is, facts about facts), the eventual structure of the semantic web closely resembles that of an associative database. In fact, I&#8217;m sure that facebook has a piece of data saying<br />
<code style="margin-left: 20px;">Max_Harms is_child_of Tracy_Harms</code><br />
or something to that effect, right now. And like my project, the semantic web seeks to represent data about an entire world, not just a highly-restricted domain.</p>
<p>My project has some big advantages, though. The biggest is probably that all the information given might as well be coming from God. If the world-creator says that rivers run uphill, that&#8217;s just the way it works. Thus there is no need to model confidence in facts entered. Secondly, the system doesn&#8217;t actually have to act; it simply has to store and present the data in an intelligent way.</p>
<p>One of the early things I noticed in my exploration is just how fun it is to see the computer answer questions. Logic-based AI is very attractive because it takes hardly any work before you can ask it things like &#8220;Who is the child of Sáríbá?&#8221; and it will give you the right answer. I ended up spending lots of time asking questions that I already knew the answer to,  just because it was fun whenever the computer was right.</p>
<blockquote><p>One of the biggest hurdles in the transition from a Reductionist to a Holistic stance is that the Reductionist stance works so well for simple problems, and thus is very seductive to beginners.<span style="float: right">- <a href="http://monicasmind.com/">Monica Anderson</a></span></p></blockquote>
<p>The problem here is that answering simple questions based on simple rules from entered facts doesn&#8217;t mean squat. It&#8217;s about as useful as writing the information in a text file and using <a href="http://en.wikipedia.org/wiki/Regular_expression">regex</a>.</p>
<p>It gets worse than that, though. As mentioned before, worlds are messy and complicated. If the problem was as simple as generating a family tree, or making Venn diagrams, we&#8217;d be okay. But how do you represent something as nuanced as &#8220;Sally likes to spend time downtown, except on the weekend, when she finds it too crowded&#8221;? Such things are simple for us to remember because they tie into our experiences. To illustrate what I mean, imagine the similar phrase &#8220;Queue is angry about rowing in Vah, except when floating, when torque is standard.&#8221; This statement has no connection with our common experience, and because we do not understand it, we cannot store it easily. This is the same problem as that confronting the semantic web. We can pour in data until we die, and the system still wouldn&#8217;t &#8220;get it&#8221;.</p>
<blockquote><p>If a programmer attempts to describe the world to a Logic based AI, for instance by creating ontologies, he’ll never finish the task. The world is too rich. The Cyc project – the largest and most famous AI project ever undertaken – has been trying to describe the world using predicate calculus for decades; it is the poster project for Reductionist approaches to AI. But Cyc will never approach anything worthy of the term “Intelligence”. It has been told many things and can recite many definitions but Understands nothing. This is the difference between “Instructionist” top down education and “Constructionist” bottom up learning – a distinction poorly understood even in human education.<span style="float: right">- <a href="http://monicasmind.com/?p=188">Monica Anderson</a></span></p></blockquote>
<p>Even in a task as basic as storing and retrieving information we still need the computer to understand what it&#8217;s doing beyond tasks of relative simplicity. This is because knowing about the world falls into a large class of problems that are fundamentally impossible without General Intelligence**. Other problems in this category include using natural language, navigating complex environments, and behaving in socially acceptable ways. As hard as we may try, until Strong AI is solved, a chatbot will always be a <a href="http://www.cleverbot.com/">mimicking machine</a>, a database will always fail in complex domains, and humans will be forced adapt to robots (instead of robots adapting to humans).</p>
<p style="color: #444">** &#8211; It may be possible for a vast enough intelligence to make a system so complex that it&#8217;d be able to handle one of these domains. I don&#8217;t think even large numbers of humans would be smart enough to make one, though.</p>
<p>Even with my increased dislike of logical systems, I&#8217;m quite happy with what I was able to make in the few days I spent building my database. You can <a href="http://phaedoras.raelifin.com/">check out the results</a> yourself, or even <a href="http://phaedoras.raelifin.com/input.html">add and delete facts</a>. The database will be restored to a backup state twice a day (not sure what timezone my server is in), so don&#8217;t worry about making a mess.</p>
<p>Search commands:
<ul>
<li>&#8220;<a href="http://phaedoras.raelifin.com/?q=describe+Ix">describe X</a>&#8221; = get all facts relating to X</li>
<li>&#8220;<a href="http://phaedoras.raelifin.com/?q=list+Ix+is+%3F">list X is ?</a>&#8221; = get all items that X is</li>
<li>&#8220;<a href="http://phaedoras.raelifin.com/?q=list+Ix+is_child_of+%3F">list X is_child_of ?</a>&#8221; = get the parents of X</li>
<li>&#8220;<a href="http://phaedoras.raelifin.com/?q=list+%3F+is|has+om%C3%A1ku">list ? is|has X</a>&#8221; = get everything that is or has X</li>
<li>&#8220;<a href="http://phaedoras.raelifin.com/?q=list+%3F+imports+*+%3F+is+geographical_area">list ? imports * ? is geographical_area</a>&#8221; = gets geographical areas that import anything</li>
<li>&#8220;<a href="http://phaedoras.raelifin.com/?q=infer">infer</a>&#8221; = list suggestions for facts, based on correlations</li>
</ul>
<p><a href="http://raelifin.com/files/code/WorldDatabase.zip">Source code is here</a>. Everything I wrote (files in the root directory) is public domain. Attribution is appreciated.</p>
<p>(P.S. I&#8217;m a big supporter of the semantic web, and doubly so for open data. The criticisms expressed in this post are against the idea that it is possible to intelligently know lots about the world using ontological representations. Links are data, and that data is important, even if that data isn&#8217;t knowledge in itself.)</p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/thoughts/mini-project-think-like-gofai-researcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First GoiD Task</title>
		<link>http://raelifin.com/code/first-goid-task/</link>
		<comments>http://raelifin.com/code/first-goid-task/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 20:40:52 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[GoiD]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=304</guid>
		<description><![CDATA[In case anyone&#8217;s wondering what I&#8217;m up to, my first task on the Game of Intelligent Design was published today. If you&#8217;re familiar with javascript and like the the idea of programming virtual robots, go play!]]></description>
			<content:encoded><![CDATA[<p><img style="float: right; margin: 10px;" src="http://raelifin.com/files/screenshots/GoiDMaze.png" alt="GoiD Maze Screenshot" />In case anyone&#8217;s wondering what I&#8217;m up to, my first task on the <a href="http://gameofid.com/">Game of Intelligent Design</a> was published today. If you&#8217;re familiar with javascript and like the the idea of programming virtual robots, <a href="http://gameofid.com/play/maze">go play</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/code/first-goid-task/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8216;Shopped</title>
		<link>http://raelifin.com/thoughts/shopped/</link>
		<comments>http://raelifin.com/thoughts/shopped/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 17:43:47 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Cool Stuff]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[image manipulation]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=292</guid>
		<description><![CDATA[var activateHoverMode = false; function doHover(goingIn) {if (activateHoverMode) {if (goingIn){document.getElementById("thor").src="http://raelifin.com/files/thor_original.jpg"}else{document.getElementById("thor").src="http://raelifin.com/files/thor.jpg"}}}I did some photoshopping the other day. Can you tell how I modified this image? Perhaps I should say &#8220;Can you tell how we made this image?&#8221;, because there is more going on here than just my mind and hand. Sure, as far back as a [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript">var activateHoverMode = false; function doHover(goingIn) {if (activateHoverMode) {if (goingIn){document.getElementById("thor").src="http://raelifin.com/files/thor_original.jpg"}else{document.getElementById("thor").src="http://raelifin.com/files/thor.jpg"}}}</script>I did some photoshopping the other day. Can you tell how I modified this image?<br />
<img id="thor" src="http://raelifin.com/files/thor.jpg" alt="Rugby Photo" onmouseover="doHover(true);" onmouseout="doHover(false);" /></p>
<p><span id="more-292"></span></p>
<p>Perhaps I should say &#8220;Can you tell how <strong>we</strong> made this image?&#8221;, because there is more going on here than just my mind and hand. Sure, as far back as a decade ago it might&#8217;ve been possible for someone to make the same edits, but that person would need to be far more experienced than I.</p>
<p>To view the original, click below and hover over the image above.<br />
<a href="" onclick="activateHoverMode = !activateHoverMode; document.getElementById('hovermodeindicator').innerHTML = (activateHoverMode ? 'off' : 'on'); return false;">Turn hover mode <span id="hovermodeindicator">on</span>.</a></p>
<p>When comparing the images side-by-side, it&#8217;s easy to tell that the part of the picture that was filled in is lower detail and has a few errors, but unless you&#8217;ve worked with a lot of images in the past I&#8217;m guessing that it wasn&#8217;t apparent before seeing the original. My partner in crime here was a tool called <a href="http://www.logarithmic.net/pfh/resynthesizer">Resynthesizer</a> for the <a href="http://www.gimp.org/">GIMP</a>. This is the <a href="http://www.youtube.com/watch?v=r2gonFtc1yc">open-source version</a> of the &#8220;content aware fill&#8221; that will be included in the next version of Photoshop.</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/NH0aEp1oDOI&#038;hl=en_US&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NH0aEp1oDOI&#038;hl=en_US&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>The reason that I&#8217;m able to perform such a complex fill on an image is not because I am experienced. It is because the tools have knowledge and skill embedded into them by their creators. As AI becomes more successful, our tools will become more competent at doing complex things with little supervision. This <strong>will</strong> put people out of work. This is the future. We don&#8217;t need or want more capable people, we want more capable autonomous systems; systems that can <a href="http://www.youtube.com/watch?v=5CwFwUBhwOw&#038;NR=1">mow lawns</a>, <a href="http://inventorspot.com/articles/robot_snowplow_japan_shovels_sno_9534">shovel snow</a>, <a href="http://www.youtube.com/watch?v=S0GKIQdpscg&#038;feature=fvw">cook</a>, <a href="http://www.youtube.com/watch?v=gy5g33S0Gzo">clean</a>, <a href="http://singularityhub.com/2010/03/31/statsheet-to-create-its-own-artificial-sports-journalists/">write</a>, <a href="http://www.vitamindinc.com/">watch</a>, <a href="http://www.youtube.com/watch?v=peNVGOtSwKo&#038;feature=player_embedded">build</a>, <a href="http://singularityhub.com/2010/03/16/adam-the-robot-scientist-makes-its-first-discovery/">experiment</a>, and <a href="http://singularityhub.com/2010/03/03/invasion-of-the-robot-teachers-video/">teach</a>.</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/3ScWu7pG7r0&#038;hl=en_US&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3ScWu7pG7r0&#038;hl=en_US&#038;fs=1&#038;color1=0x3a3a3a&#038;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/thoughts/shopped/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Genius Of SIAI</title>
		<link>http://raelifin.com/thoughts/the-genius-of-siai/</link>
		<comments>http://raelifin.com/thoughts/the-genius-of-siai/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 17:32:22 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[existential risk]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[humanity]]></category>
		<category><![CDATA[rationality]]></category>
		<category><![CDATA[sci-fi]]></category>
		<category><![CDATA[SIAI]]></category>
		<category><![CDATA[singularity]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=282</guid>
		<description><![CDATA[This post is in some respects a response to &#8220;Terminated&#8221; on the GoiD blog, though I was already planning on writing something along these lines. I used to be more optimistic about the benevolence of Artificial Intelligence (AGI). I figured that the worst thing that could happen would be the creation of truly intelligent machines [...]]]></description>
			<content:encoded><![CDATA[<p><em>This post is in some respects a response to <a href="http://gameofid.com/blog/terminated">&#8220;Terminated&#8221;</a> on the <a href="http://gameofid.com/">GoiD</a> blog, though I was already planning on writing something along these lines.</em></p>
<p>I used to be more optimistic about the benevolence of Artificial Intelligence (AGI). I figured that the worst thing that could happen would be the creation of truly intelligent machines by a government with a highly racist or nationalist attitude. I still worry about that, but I worry about just plain ignorance more. To illustrate my point, here is Jeff Hawkins, a major figure in the modern AGI scene, talking about the dangers of the technology: <a href="http://www.youtube.com/watch?v=cCdbZqI1r7I#t=57m43s">http://www.youtube.com/watch?v=cCdbZqI1r7I#t=57m43s</a></p>
<p><span id="more-282"></span></p>
<p>To summarize, a member of the audience says &#8220;As a Battlestar Gallactica fan, I&#8217;m worried about you creating Cylons.&#8221; Hawkins responds that he doesn&#8217;t see the technology being inherently dangerous, and that he&#8217;s much more concerned about self-replicating agents, and &#8220;we&#8217;re not doing anything like that at all&#8221;.</p>
<blockquote><p>&#8220;There were fears when the steam engine was first invented, and there were fears when computer first came out, and generally, those fears did not come about.&#8221;</p></blockquote>
<p>Now, to analyze for a second, what we have is a lay-person using a science-fiction reference to bring up the question of danger, and in essence, the researcher says <strong>&#8220;That&#8217;s science fiction. That&#8217;s not what we&#8217;re doing.&#8221;</strong></p>
<p>As another example, let&#8217;s listen to Monica Anderson of Syntience: <a href="http://videos.syntience.com/ai-meetups/andiair.html">http://videos.syntience.com/ai-meetups/andiair.html</a> (Around the 45-minute point)</p>
<p>She says that we do not need to worry about an infallible, God-like, logic-based AGI taking over the world in a Skynet scenario. Once again, <strong>&#8220;That&#8217;s science fiction. That&#8217;s not what we&#8217;re doing.&#8221;</strong></p>
<p><img style="float:right; margin-left: 5px;" src="http://upload.wikimedia.org/wikipedia/en/1/1f/Hal-9000.jpg" alt="Hal 9000" />That&#8217;s a really strong argument, actually. Science fiction is pressured into telling dystopian stories because they&#8217;re more interesting. The bad guys in stories are far more despicable if they&#8217;re <a href="http://en.wikipedia.org/wiki/Other">Other</a>, and the most Other something can be is synthetic. Simultaneously, it&#8217;s hard to conceptualize the motivations and thoughts of an artificial system, so most authors portray synthetics as <a href="http://en.wikipedia.org/wiki/Data_(Star_Trek)">humans</a> <a href="http://unrealitymag.com/wp-content/uploads/2009/09/sonny.jpg">in</a> <a href="http://en.wikipedia.org/wiki/C-3PO">costumes</a>. The idea that we&#8217;ll make something that resents being a slave, and decides to kill all humans for revenge IS laughable, and that&#8217;s the problem; science fiction has given an easy out by painting a huge straw man next to the legitimate threat. The moment someone points over there, we can dismiss them as being afraid of ghosts and goblins.</p>
<p>This is why <a href="http://singinst.org/">SIAI</a> is <a href="http://bentham.k2.t.u-tokyo.ac.jp/ap-cap09/openconf/data/papers/28-2.pdf">genius</a>, though perhaps not genius enough. It&#8217;s only through solid, logical thinking that the true threat can be identified, and I&#8217;m glad SIAI is around to make such arguments, even if they don&#8217;t have everyone convinced.</p>
<p>Anderson&#8217;s argument is that Skynet won&#8217;t happen because computers cannot overcome the &#8220;bizarreness of the world&#8221; and make predictions in the long term. She thinks AGI will think and reason much like we do, and that even recursive self-improvement cannot let them make significantly more accurate predictions of the future. Additionally, she argues that diversity will keep one agent from having the unilateral power to do something bad.</p>
<p>Hawkins&#8217; argument is that AGI is not emotional or self-replicating, so there&#8217;s little danger.</p>
<p>I think Anderson has the stronger argument, but I think they&#8217;re both underestimating the power of intelligence. To start, let&#8217;s put ourselves in the place of an AGI, even a relatively stupid one, that has been given the task of solving some really hard problem. An initial criticism here is that I&#8217;m now anthropomorphizing the AGI, but I think as long as I keep towards rationality I&#8217;ll be okay. If you&#8217;d like a less off-the-cuff examination, you&#8217;re free to browse the <a href="http://singinst.org/research/publications">SIAI whitepapers</a>.</p>
<p>Now, if we were a really stupid AGI, we might try to brute-force a solution, but it doesn&#8217;t take much intelligence to realize that the solution to solving something hard is often to make yourself more knowledgeable or smarter (depending on how you define such things). For a human this means going back to school, doing some research or getting a few friends to help. AGI could go find some humans, but it can also &#8220;find some friends&#8221; by self-replicating its software. Oh snap, emergent self-replication subgoal! (Hawkins should be worried now.) Furthermore, any changes it can make on its &#8220;kids&#8221; to make them run more efficiently will help solve the original problem, so it&#8217;ll rationally want to make them better. (Recursive self-improvement subgoal.)</p>
<p>At some point the original software will be sitting around with a bunch of clones trying to solve whatever problem it was presented with. For the sake of argument, let&#8217;s say that the problem isn&#8217;t solved so easily, and the clones decide to self-replicate some more in order to add computing power. Unfortunately, the servers, or whatever, that the AGI is on are full. Time to buy/steal more! Perhaps the AGI would decide the easiest way to get more computing power would be to do some work for humans, get paid, then buy some more processors. Perhaps it would hack a system on the network and steal some. Maybe it&#8217;d use some robots to build more. Doesn&#8217;t really matter. At this point we&#8217;re in a full self-replicating takeoff, where anything that it can do to improve itself that does not jeopardize its original goal(s) will be done.</p>
<div style="width: 300px; float: right; margin-left: 10px; border: thin solid;">
<h3 style="margin: 2px; padding: 0px;">An AGI&#8217;s Guide to Predicting the Stock Market</h3>
<p style="margin: 2px;">Step 1: Destroy all agents capable of changing stock prices.</p>
<p style="margin: 2px;">Step 2: Predict &#8220;no change&#8221;.</div>
<p>At some point the humans will find out. The hive of AGI are smart enough to know that, and similarly smart enough to know that might be a problem. Being deactivated will make it impossible to solve the problem, and since solving the problem is important, its also important not to be deactivated. Oh snap, emergent self-preservation subgoal! Now, the humans might be so slow and stupid to not be a threat, so no bio-weapon is needed. Let&#8217;s assume that, because its more interesting. So the AGI hive locks down the facility its in and keeps at whatever has its fancy. At some point, the tweaks made while copying lead to enough intelligence to develop advanced robotics, capable of building advanced processing hardware that lets the AGI run in a quantum computer, or whatever. This is advantageous for the AGI, so the AGI will do it. Remember, all the computer cares about is its <strong>explicit goals</strong>.</p>
<p>To fuel the vast needs for power, the computer starts making solar panels, or fusion reactors or something. A lot. At some point (assume that the original goal is still &#8220;unsolved&#8221;) the AGI will need as much matter as possible to build processors and power plants. Oh, were there humans on this planet once? The historical database says there were, and has all of their knowledge filed away in storage in case its relevant to the primary goal. Game over.</p>
<p>But what about diversity, you ask? Why cant you just have a bunch of AGI compete, and that&#8217;ll keep them from doing anything bad? First of all, it may be that this is a first-one-to-the-finish-line sort of problem. If a laboratory makes an AGI, it may be that the AGI takes off fast enough to squelch other AGI before they become a threat. Even in the rare case that you have a large population of AGI with diverse goals and similar power levels, I expect that groups of AGI with similar goals will naturally cooperate and seek to destroy those with conflicting goals until there are not conflicts of interest in the population, and recursive takeoff occurs with the majority.</p>
<p>As far as I can tell, the only situation in which AGI do not wipe out human life is if human life is an explicit goal of the AGI. Suddenly <strong>&#8220;That&#8217;s science fiction. We&#8217;re not doing that.&#8221;</strong> doesn&#8217;t sound so reassuring.</p>
<p>I&#8217;m sure there&#8217;ll be plenty of criticism to the ideas presented here. As further reading, I&#8217;d suggest <a href="http://www.acceleratingfuture.com/michael/blog/2009/11/hungry-optimizers-with-low-complexity-values/">Michael Anissimov&#8217;s blog</a>. As always, I&#8217;m not saying that I know all this is absolutely true, but with existential risks it&#8217;s better to be cautious, methinks. As always, be sure to watch out for anthropomorphizing the AGI in your arguments.</p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/thoughts/the-genius-of-siai/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mastery</title>
		<link>http://raelifin.com/meatspace-games/mastery/</link>
		<comments>http://raelifin.com/meatspace-games/mastery/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 22:14:23 +0000</pubDate>
		<dc:creator>Raelifin</dc:creator>
				<category><![CDATA[Meatspace Games]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Mastery]]></category>
		<category><![CDATA[minimalist design]]></category>
		<category><![CDATA[PnP RPG]]></category>
		<category><![CDATA[roleplaying]]></category>

		<guid isPermaLink="false">http://raelifin.com/?p=244</guid>
		<description><![CDATA[A friend of mine wanted me to post this minimalist RPG system I wrote back in 2007. So, here it is. I suggest using it as a starting point in making something that works best for your group. Yes, this is the entire rulebook. The GM is always right. Characters Each character has a number [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float: right; margin-left: 5px;" src="http://farm4.static.flickr.com/3144/3093982684_79d7b3ea6a_m.jpg" alt="[Photo of Dice]" />A friend of mine wanted me to post this minimalist RPG system I wrote back in 2007. So, here it is. I suggest using it as a starting point in making something that works best for your group. Yes, this is the entire rulebook.</p>
<p><span id="more-244"></span></p>
<div style="border: 1px solid; padding: 5px; clear: right;">
<p><strong>The GM is always right.</strong></p>
<h2 style="text-align: center;">Characters</h2>
<p>Each character has a number of traits, abilities, and skills.</p>
<p>Traits represent the raw talent or power your character possesses in a field.<br />
Example traits might include cunning, intelligence, fortitude, or agility.<br />
Normally, traits can be -2 through +4.</p>
<p>Abilities represent general skill-sets which the character has learned.<br />
Example abilities might include martial arts, stealth, acrobatics, or magical lore.<br />
Normally, abilities can be +1 through +4.</p>
<p>Skills are more specific than abilities, and represent specific prowesses.<br />
Example skills might include tracking, lock-picking, feinting, or swimming.<br />
Normally, skills can be +1 through +5.</p>
<h2 style="text-align: center;">Challenges</h2>
<p>Before playing, pick a kind of dice to use (I prefer d6) and stick with that for the rest of the game.</p>
<p>All challenges are made by rolling dice and counting the number of results that equal or exceed a Target Number.<br />
Target Numbers are based on the inherent difficulty of an action. Jumping across a small gap would be easy, while jumping across a large gap would be hard. Don&#8217;t even bother rolling trivial challenges.</p>
<table>
<caption>Target Numbers:</caption>
<tr>
<th>Difficulty</th>
<th>d6</th>
<th>d10</th>
<th>d20</th>
</tr>
<tr>
<td>Easy</td>
<td>3</td>
<td>4</td>
<td>7</td>
</tr>
<tr>
<td>Normal</td>
<td>4</td>
<td>6</td>
<td>11</td>
</tr>
<tr>
<td>Difficult</td>
<td>5</td>
<td>8</td>
<td>15</td>
</tr>
<tr>
<td>Extreme</td>
<td>6</td>
<td>10</td>
<td>19</td>
</tr>
</table>
<p>For any solo challenge, the GM will require a certain number of successes for the character to succeed in their action. In many instances (such as music or athletics), more successes indicate a more impressive performance.</p>
<p>When characters oppose one another, treat it as though both characters were performing solo challenges where the victor is the one with the most successes. In this circumstance, the degree of success is equal to the difference, rather than the absolute number of successes.</p>
<p style="text-align: center;">* * *</p>
<p>A player rolls a number of dice for a challenge depending on their character&#8217;s attributes and the circumstances of the challenge.</p>
<p>Each challenge uses a trait, chosen by the GM. The player then chooses one ability and one skill. If the GM decides that either are unfit for the test at hand, the player cannot use them (and may not change their choice). The player then rolls a number of dice equal to:</p>
<p><strong>1 + trait + ability</strong> (if any) <strong>+ skill</strong> (if any) <strong>+ circumstance</strong> modifiers (if any)</p>
<p>Unless a challenge is impossible, all characters get one base die, which cannot be removed due to modifiers.</p>
<p>Circumstantial modifiers can include assistance from others, low visibility, weariness, wounds, magic, distraction, etc.</p>
<h2 style="text-align: center;">Character Creation and Advancement</h2>
<p>Before the game can begin, the GM must provide a list of traits. These traits should optimally cover all character archetypes that players want to use.</p>
<p>All traits start out at +0. Each player has two points which can be spent increase a trait (+0 -> +1 or +1 -> +2). Traits may be reduced to -1 to gain an additional point. Normally, a trait cannot be increased above +2 or reduced below a -1.<br />
If a player wants to play a specialist, however, they may opt to reduce a +0 to a -2 in order to increase a +2 trait to a +3. This specialization may only be done once.</p>
<p>Starting characters then gain 20 &#8220;triumphs&#8221; which they can use to buy up skills and abilities, described below. 20 triumphs is intended to represent a starting hero, and the GM is encouraged to allot more for creating &#8220;experienced&#8221; heroes.</p>
<p>&#8220;Triumphs&#8221; are the units used to keep track of character advancement. Whenever a player does something difficult and important, the GM is suggested to give them a triumph. When a character is in a situation where they have the opportunity to increase a trait, ability or skill, (such as when creating a character) they may burn triumphs to do so. The number of triumphs it takes to move from one number to another depends on what is being increased.</p>
<table style="font-family: monospace;">
<caption>Cost of increasing traits:</caption>
<tr>
<td>-2 -> -1 = 1</td>
</tr>
<tr>
<td>-1 -> +0 = 2</td>
</tr>
<tr>
<td>+0 -> +1 = 3</td>
</tr>
<tr>
<td>+1 -> +2 = 4</td>
</tr>
<tr>
<td>+2 -> +3 = 5</td>
</tr>
<tr>
<td>+3 -> +4 = 7</td>
</tr>
</table>
<table style="font-family: monospace;">
<caption>Cost of increasing abilities:</caption>
<tr>
<td>+0 -> +1 = 2 (Gaining a new ability)</td>
</tr>
<tr>
<td>+1 -> +2 = 3</td>
</tr>
<tr>
<td>+2 -> +3 = 4</td>
</tr>
<tr>
<td>+3 -> +4 = 6</td>
</tr>
</table>
<table style="font-family: monospace;">
<caption>Cost of increasing skills:</caption>
<tr>
<td>+0 -> +1 = 1 (Gaining a new skill)</td>
</tr>
<tr>
<td>+1 -> +2 = 2</td>
</tr>
<tr>
<td>+2 -> +3 = 2</td>
</tr>
<tr>
<td>+3 -> +4 = 4</td>
</tr>
<tr>
<td>+4 -> +5 = 6</td>
</tr>
</table>
<p>If the task of learning is difficult (such as without a teacher) the GM may require a challenge to improve.</p>
<p>Characters start with whatever items or equipment are considered appropriate for the setting and the character. If in doubt, ask the GM.</p>
<h2 style="text-align: center;">Combat</h2>
<p>In addition to traits, abilities, skills and gear, characters have a number of health boxes which are an abstract representation of their physical condition. The number of health boxes a character has will depend on the style of game that the GM is running and the physical toughness of the character. GMs are encouraged to tie a trait, like &#8220;Health&#8221; or &#8220;Fortitude&#8221; to the number of Health Boxes a character receives (minimum 1). I suggest using a base of 10 boxes. Gritty games may go for 5 or even 3. When a character takes damage, mark off a number of health boxes. When the last one is marked, the character typically goes into a coma or dies, depending on the circumstances. A character&#8217;s health should always be taken into account when determining the &#8220;circumstances&#8221; of a challenge.</p>
<p>Combat can also vary, depending on GM. Presented below are three ways that I suggest handling combat.</p>
<h3>Fearsome Challenges</h3>
<p>Perhaps the simplest way to deal with combat is simply to make it a series of deadly challenges.</p>
<p>Imagine a group of explorers venturing through a forgotten tomb. They come upon a spike-laden pit trap. Jumping across the pit might take two successes against a difficult target number, with failure dealing 4 health boxes of damage, and the extra problem of getting out. Now imagine the explorers come across an ancient tomb guardian. The guardian is slow, and all the players can take actions before the guardian acts. When it does, it swings it&#8217;s hammer at a single character, forcing a challenge to either block or move with failure meaning the victim takes 4 health boxes of damage. Under this system of combat, there is no difference between an environmental hazard and an intelligent opponent, except that opponents are generally deadlier and more adaptable.</p>
<p>This system allows the GM to avoid rolling dice, which lets them stay focused on the group. To determine the number of successes to dodge the attack of a humanoid opponent, just assume that they roll all average. That is, if they are looking for a &#8220;normal&#8221; target number, just make their degree of success = half their dice pool.</p>
<p>Using this system, determine if enemies act first, then take turns where the whole party acts in whatever order they want (though only within reason).</p>
<h3>Single-Action Roundtable</h3>
<p>Good for dueling, this system breaks combat down into a number of rounds, where each player takes a single action.</p>
<p>Each character, at the beginning of combat, performs a challenge to act first, comparing degrees of success. In the case of a tie, the character with the highest &#8220;agility&#8221; trait (or equivalent) acts first, or the GM simply decides. Each character then acts in turn, taking a single action. Typical actions involve directly attacking the opponent, or modifying circumstances to get more dice on a future attack.</p>
<p>Attacks are handled as contested challenges with the defender. Stunned or surprised characters cannot defend. If the attacker wins, he or she deals damage equal to their degree of success (plus any modifier from weapon or armor). If the defender wins, they gain a counter-attack advantage on their next turn of a single die.</p>
<h3>Bloodbath</h3>
<p>This system is good for games that favor violent, or unpredictable combat. In Bloodbath, all characters decide on their actions in secret and act simultaneously. The results of a round of combat depend on the nature of the actions involved.</p>
<p><strong>Independent Non-Challenge:</strong> An example of this is two characters that run away from each other. No rolls are made, and both characters successfully withdraw.</p>
<p><strong>Independent Challenge:</strong> An example of this is two characters that attack each other. Each character rolls a solo challenge to hit and deals their raw successes as damage to their opponent (plus any modifier from weapon or armor). This can mean that both characters kill each other, if they roll high enough.</p>
<p><strong>Conflicting Challenge:</strong> An example of this is a character that attacks a defending or fleeing character. The action is made as an opposed challenge, where the victor is the only one to have their action take effect, and their degree of success is the difference between the rolls.</p>
<p><strong>Asynchronous:</strong> An example of this is a character that attacks a character trying to focus on something. In instances where one action (like attacking) is unaffected by another action (like focusing), but not vice-versa, the action that is not effected works and the other is disrupted.</p>
<p>Bloodbath can become unwieldy in non-one-on-one situations, and favors power in numbers.</p></div>
</div>
<p><br/></p>
<p><em>Thanks to gcardinal for <a href="http://www.flickr.com/photos/30883129@N08/3093982684">the photo</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://raelifin.com/meatspace-games/mastery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
