<?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>Lusta.hu &#187; emergent</title>
	<atom:link href="http://www.lusta.hu/tag/emergent/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lusta.hu</link>
	<description>Amíg a test renyhe, az elme dolgozik</description>
	<lastBuildDate>Mon, 23 Jan 2012 00:28:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Epic adventures in an Emergent system</title>
		<link>http://www.lusta.hu/2011/10/26/epic-adventures-in-an-emergent-system/</link>
		<comments>http://www.lusta.hu/2011/10/26/epic-adventures-in-an-emergent-system/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 15:03:39 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[emergent]]></category>
		<category><![CDATA[game design]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=1215</guid>
		<description><![CDATA[Is it possible to create an emergent system in an MMO where the interactions and needs of the NPCs (in the form of independent AIs) can lead to quests on the epic scale? I don&#8217;t know the answer to that question, but I have a few thoughts about this topic, which might help the reader [...]]]></description>
			<content:encoded><![CDATA[<p>Is it possible to create an emergent system in an MMO where the interactions and needs of the NPCs (in the form of independent AIs) can lead to quests on the epic scale?</p>
<p>I don&#8217;t know the answer to that question, but I have a few thoughts about this topic, which might help the reader to come to their own conclusions.</p>
<p>So, what I want to talk about here are the following:</p>
<ul>
<li><a href="http://www.lusta.hu/2011/10/26/epic-adventures-in-an-emergent-system">What makes an adventure &#8216;Epic</a>&#8216;</li>
<li>Requirements and limitations of the AI system
<ul>
<li><a href="http://www.lusta.hu/2011/11/01/epic-npc-ai/" target="_self">The NPC AI in separation</a></li>
<li>The problems with numbers</li>
<li>Simulation of the masses</li>
<li>Emergent behaviour</li>
</ul>
</li>
<li>The place of the epic adventure in the game</li>
</ul>
<p>I might need to slice this up a bit and write a handful of articles instead of just one, but I hope it will worth reading them.</p>
<h3>What makes an adventure &#8216;Epic&#8217;</h3>
<p>To be somewhat cheeky, let&#8217;s say that from the Lotro perspective &#8220;epic quest&#8221; means that you have to travel four times as much as with a normal quest. Jokes aside, I&#8217;d rather not use existing MMOs as role models for this. Instead, let&#8217;s find some examples in literacy.</p>
<p>The first one being <a href="http://en.wikipedia.org/wiki/Beowulf">Beowulf</a>. He is a scandinavian hero, who fights a demon, then the demons mother to save the people of a kingdom. Later, he becomes the king, and &#8211; as an old man &#8211; sets out to fight a dragon. He slays the dragon, and gets a mortal wound. On the wikipedia it is described as<em> &#8220;Beowulf is considered an epic poem in that the main character is a hero who travels great distances to prove his strength at impossible odds against supernatural demons and beasts.&#8221;</em> We can now see that Turbine got it right about the travelling part, but the impossible odds part is somewhat lacking.</p>
<p>The second one is a fantasy story. Fantasy literacy is usually full of epic adventures and pathos, so it&#8217;s a very good starting point. In our case, the one I want to use as an example is a part of the <a href="http://en.wikipedia.org/wiki/Nine_Princes_in_Amber">&#8220;Nine Prices in Amber&#8221;</a>. Sorry for the spoilers, but be assured, when reading the whole series, you will still find a lot of wonders and surprises.</p>
<p>So, Prince Corwin, our main character &#8211; with the help of his brother &#8211; gathers an army to conquer the castle of his father from the usurper. To get to the castle, they need to go up a stair with a thousand steps to a plateau, where every step is defended by a soldier. At this point their army is already demolished, leaving only a handful mercenaries. The two brothers and their small company begin their ascent, the mercenaries first, then Corwin&#8217;s brother. The brother then falls down from the stairs, and Corwin throws a deck of magic cards after him &#8211; which would have been his only chance of survival. Corwin alone continues the fight, and actually makes it to the plateau, where he loses the fight, and gets imprisoned. (Believe me, the original is much more enjoyable than this succinct description of the events)</p>
<p>Why do I consider this epic? Well, looking into it, we find common elements &#8211; impossible task, long journey &#8211; and something that is also present in Beowulf, but less apparently: a just cause. Also, in both cases, there is the notion of self sacrifice &#8211; Beowulf dies for his people, Corwin saves his brother, and because of that he gets imprisoned. On the other hand, Beowulf&#8217;s story ends well &#8211; his death is not futile, in the end he saves his people from the dragon. (Corwin&#8217;s story doesn&#8217;t end here.. but his fate gets much worse by the end of the first book.)</p>
<p>I was thinking about a good third example (we need three of anything, because that is the magic number) and one good example I found is the biblical story of David and Goliath. I&#8217;m pretty sure everyone is familiar with it, but still, here&#8217;s a short recap: Goliath is a giant of a man, who is challenging the army of Saul for forty days. On the fortieth day, David, a boy, goes there for some reason, hears Goliath&#8217;s challenge, and answers it. Without wearing armour, he goes out to the field, and kills the giant using a sling and a stone. No long journey this time (I knew it&#8217;s not required! <img src='http://www.lusta.hu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) but again, impossible challenge, just cause. No self sacrifice either, not more than what the task requires, actually. What is particularly interesting here, is that David didn&#8217;t win because of his supernatural skill or strength. Instead, he used his wit to meet the challenge. Outsmarting your enemy is a common motive in the epic stories, let&#8217;s just think about the challenges of Hercules, or Loki, the trickster.</p>
<p>So, let&#8217;s collect the list:</p>
<ul>
<li>Just cause: The hero must have a motive that is not selfish, something that serves the public well-being</li>
<li>Impossible challenge: Something that is (or seems) impossible for the average woman or man.</li>
<li>Long journey: If travel itself is more than just a click of a button, a long journey can be the challenge in itself.</li>
<li>Self sacrifice: Failure often means death</li>
<li>Need of thinking: The solution might require more than physical prowess</li>
</ul>
<p>In the context of MMOs, putting the player in mortal danger is not as serious as it is in real life &#8211; given that in most MMOs death is not much more than a temporary annoyance. One way to solve this problem is to exchange mortality with finality: the player can try to do the quest only once, and that&#8217;s it. Failing the quest is final, there is no retry. Also, physical prowess is an in-game feature, while the thinking is done by the player, sitting in front of the computer.</p>
<p>(Some might argue that completing an epic quest it&#8217;s only hard for the first player, then he writes everything down on the wiki, and everybody will be able to finish the quest easily after that. In our case it&#8217;s not a valid argument, because the quest is not scripted, it is emerging from the interaction of NPCs, thus it is never the same. But even in a scripted system you can say that the first one to solve this quest will get the epic reward, everyone else will get the normal reward. This is not a perfect solution, but this problem is not the one either that I want to solve.)</p>
<p>To put it simply, our emergent system must be able to</p>
<ul>
<li>Either identify quests/tasks/jobs/adventures for which several of the above are true</li>
<li>Or specifically generate quests with the above-mentioned qualities</li>
</ul>
<p>In the next few blog post I&#8217;ll look at the AI perspective, as well as how the epic adventure can be part of the game world. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2011/10/26/epic-adventures-in-an-emergent-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nanobotok</title>
		<link>http://www.lusta.hu/2011/06/01/nanobotok/</link>
		<comments>http://www.lusta.hu/2011/06/01/nanobotok/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 13:20:46 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[emergent]]></category>
		<category><![CDATA[fizika]]></category>
		<category><![CDATA[nanobot]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=1137</guid>
		<description><![CDATA[A Science fiction egyik visszatérő motívuma a nanobotok alkalmazása. Mi a lényeg: vannak egy a pici, szemmel láthatatlan méretű lények, amik molekuláris/sejt szinten képesek befolyásolni a környezetüket. Egy darab önmagában persze semmire sem elég, de képesek önmagukat sokszorosítani, és így a sok kicsi sokra megy elvet alkalmazva akár épületeket is fel tudnak építeni. Vagy éppen [...]]]></description>
			<content:encoded><![CDATA[<p>A Science fiction egyik visszatérő motívuma a nanobotok alkalmazása. Mi a lényeg: vannak egy a pici, szemmel láthatatlan méretű lények, amik molekuláris/sejt szinten képesek befolyásolni a környezetüket. Egy darab önmagában persze semmire sem elég, de képesek önmagukat sokszorosítani, és így a sok kicsi sokra megy elvet alkalmazva akár épületeket is fel tudnak építeni. Vagy éppen lebontani..</p>
<p>A technológiai problémákon túl (miniatürizálás, például) még van három nagyon fontos dolog, amit meg kell oldani hozzájuk:<br />
- Nyersanyag: Építeni nem lehet a semmiből. Vagy anyag, vagy energia kell hozzá. És ez még nem is olyan 1xű, hogy hordjuk oda azokat az anyagokat, amik az adott építéshez kellenek (építés alatt értsük most ide a sejtek újraépítését is..) hiszen a nanobotok önsokszorozását is meg kell oldani valamiből. A mostani fizikai tudásunk szerint ez mind megoldható úgy, hogy az anyagot energiává, majd azt esetleg másféle anyaggá alakítjuk, de ez meg olyan problémákat vet fel, hogy maga az átalakítás is valószínűleg veszteséges lenne, ráadásul a fúziós folyamatok folyamán felszabaduló energiát valahogy kordában is kell tartani, mielőtt mássá alakítjuk. (képzeljük el, ahogy a nanobot javítja a fogunkat, és közben a felszabaduló hőtől elég a fejünk..) A dolog pozitív része persze az, hogy ha az anyagot át tudjuk alakítani, akkor tehetjük azt is, hogy az egész dolgot, amit fel akarunk építeni, először valami más, egyszerűen kezelhető anyagból építjük fel, majd amikor kész van, a megfelelő részeket olyan anyaggá alakítjuk ott helyben, amire szükség van.<br />
- Energiaszükséglet: Munkavégzés akkor van, ha erre energiát használunk fel. A mozgatás, kommunikáció, a nanobotok működése mind energiát igényel. A fenti, anyagátalakításos technikával persze simán elhasználhatnánk abból az energiából is valamennyit, de nem biztos, hogy ez megoldható. Alternatív lehetőség a folyamatosan változó elektromágneses mező, amiből ki lehet nyerni az energiát ügyesen (tipikus példa a <a href="http://www.urbanlegends.hu/2010/09/kossuth-radio-kaposztabol-fogtomessel/">rádiótorony közelében megszólaló káposzta</a>.. kis csúsztatással, persze). Egy &#8211; vagy több &#8211; ilyen generátort elhelyezve a környéken, a nanobotok energiához jutnának, anélkül, hogy az anyagot kellene azzá alakítani..<br />
- Programozás, kommunikáció: Talán programozónak kell ahhoz lenni, hogy az ember megértse, mennyire nem egyszerű ez a probléma. <a href="http://www.lusta.hu/2009/07/08/emergence/">Emergens viselkedést</a> kell programozni, amivel a kis darabkák értelmes egésszé állnak össze, de van benne valami a fraktálokból is, ahogy a botok kialakítják és finomítják a formát, apróban és egyszerűben kezdve és eljutva a nagyig és bonyolultig. De ez még nem is elég, hiszen minden ilyennek az alapja az elhelyezkedés, azaz a botoknak (minden egyes darabnak) tisztában kell lenni a saját pozíciójával, mikromilliméter pontossággal. (na jó, a pontosság igazából a feladat jellegétől függ, felhőkarcolók esetén valószínűleg egy centiméteres pontosságú skála elég lenne, élő szervezet újraépítésénél viszont talán a mikromiliméter sem elég pontos..) Ha most gondolatban visszatérünk egy pillanatra a rezgő mágneses mezőt biztosító generátorainkhoz, akkor logikusnak tűnik az, hogy ezt a mágneses mezőt használhatjuk a lokáció kommunikálására is, akár úgy, hogy információt küldünk ki, akár úgy, hogy a generátorok frekvenciakülönbségéből és jelerősségéből számolja ki a bot, hogy hol van. Ha az első megoldást választjuk, akkor arra is van lehetőségünk, hogy konkrétabb inputot vigyünk a programozásba, pl. átbillentsük a botok állapotát valami másba.</p>
<p>Van amúgy ennek némi jelenlegi, kevésbé futurisztikus felhasználása. Képzeljük el azt, hogy egy anyag felszínét bevonjuk egy bizonyos pasztával, ami valójában mikroszkopikus gépecskékből áll &#8211; nem önsokszorosítók, és valójában nem is építeni tudnak, hanem valami mást. Például elfordulni.<br />
Mire lenne ez jó? Például megoldható lenne, hogy olyan napelemet építsünk, ami mindig a lehető legnagyobb felületét fordítja a nap felé, ezáltal maximalizálva a felvett energiamennyiséget.. </p>
<p>Kb. ennyit akartam csak leírni.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2011/06/01/nanobotok/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fejlődés</title>
		<link>http://www.lusta.hu/2009/07/29/fejlodes/</link>
		<comments>http://www.lusta.hu/2009/07/29/fejlodes/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 14:43:40 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[emergent]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=134</guid>
		<description><![CDATA[Úgy gondoltam, lenne értelme megtanulni a C# programozási nyelvet. A lenti, szigetes feladat egészen jó alanynak tűnt ahhoz, hogy elkezdjem, úgyhogy a következő szigetest már c#-ban írtam meg, és &#8211; Geot felvetése kapcsán &#8211; gravitációval. Kifejtés és képek alant: A gravitációs számolás lényege: minden darabka vonzza a többit. A vonzás a távolság négyzetével arányos. Ha [...]]]></description>
			<content:encoded><![CDATA[<p>Úgy gondoltam, lenne értelme megtanulni a C# programozási nyelvet. A lenti, szigetes feladat egészen jó alanynak tűnt ahhoz, hogy elkezdjem, úgyhogy a következő szigetest már c#-ban írtam meg, és &#8211; Geot felvetése kapcsán &#8211; gravitációval. Kifejtés és képek alant:</p>
<p><span id="more-134"></span></p>
<p>A gravitációs számolás lényege: minden darabka vonzza a többit. A vonzás a távolság négyzetével arányos. Ha közel érünk egy másik kis szigethez, megállunk:</p>
<div id="attachment_130" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-130 " src="http://www.lusta.hu/wp-content/uploads/2009/07/emergent_2.png" alt="Végtelen távolság, egységsúlyokkal" width="300" height="299" /><p class="wp-caption-text">Végtelen távolság, egységsúlyokkal</p></div>
<p>Hát ez még nem pont az, amit szeretnénk, de a csoportképzés máris sokkal jobb. Oké, lépjünk tovább, min tudnánk javítani..</p>
<p>Csináljuk meg úgy, hogy csak egy bizonyos távolságon belül keresünk:</p>
<div id="attachment_131" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-131" src="http://www.lusta.hu/wp-content/uploads/2009/07/emergent_3.png" alt="Szabályozott távolság, egységsúlyokkal" width="300" height="300" /><p class="wp-caption-text">Szabályozott távolság, egységsúlyokkal</p></div>
<p>Határozottan alakul. Nem középre tart mindenki, hanem csoportokat képzünk. Tegyük ezt kicsit félre, és nézzük meg, mi történik akkor, ha az elemeknek súlya is van, akár negatív is..</p>
<div id="attachment_132" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-132" src="http://www.lusta.hu/wp-content/uploads/2009/07/emergent_4.png" alt="Súlyozott, végtelen távolság" width="300" height="298" /><p class="wp-caption-text">Súlyozott, végtelen távolság</p></div>
<p>Ez sem rossz, megintcsak csoportok alakulnak ki, ami részben a taszító hatásnak köszönhető. A súlyeloszlás amúgy nem egyenletes, -2-től +3-ig véletlenszerűen alakul. Kombináljuk most az utolsó két módszert, és nézzük meg, mi történik, ha valamivel kisebb területen próbáljuk ki:</p>
<div id="attachment_133" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-133" src="http://www.lusta.hu/wp-content/uploads/2009/07/emergent_5.png" alt="Szabályozott távolság, súlyozott" width="300" height="299" /><p class="wp-caption-text">Szabályozott távolság, súlyozott</p></div>
<p>Mint látható, ebből a mintából minimális utómunkával már nagyszerű szigeteket lehet kialakítani. Tesztelgettem ezt a beállítást párszor, nagyon érdekes formák alakulnak ki..</p>
<p>Ezzel nagyjából el is jutottam oda, ahova akartam, szóval a következő lépésben valami újféle problémát fogok kitalálni, vagy ezt a térképet finomítom valamiképpen..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2009/07/29/fejlodes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Egyszerű szomszédos</title>
		<link>http://www.lusta.hu/2009/07/22/egyszeru-szomszedos/</link>
		<comments>http://www.lusta.hu/2009/07/22/egyszeru-szomszedos/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 11:37:52 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[emergent]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/2009/07/22/egyszeru-szomszedos/</guid>
		<description><![CDATA[Íme az első screenshot az &#8220;legközelebbi felé mozgunk és ha odaértünk, megállunk&#8221; viselkedéshez: A kék az alapszín, a világoskék a megtett utat jelzi, a sárgák pedig a &#8220;végpontok&#8221;, ahol a kis szigetek megállapodtak. A következő kísérletben megpróbálok egy olyan vizsgálatot beillesztni, ahol a kis szigetek mindig a környéken lévő legnagyobb sziget felé igyekeznek.. Mondanom sem [...]]]></description>
			<content:encoded><![CDATA[<p>Íme az első screenshot az &#8220;legközelebbi felé mozgunk és ha odaértünk, megállunk&#8221; viselkedéshez:</p>
<div id="attachment_117" class="wp-caption alignleft" style="width: 309px"><img class="size-full wp-image-117" src="http://www.lusta.hu/wp-content/uploads/2009/07/emergent1.png" alt="Egyszerű szomszédvizsgálat" width="299" height="298" /><p class="wp-caption-text">Egyszerű szomszédvizsgálat</p></div>
<p>A kék az alapszín, a világoskék a megtett utat jelzi, a sárgák pedig a &#8220;végpontok&#8221;, ahol a kis szigetek megállapodtak. A következő kísérletben megpróbálok egy olyan vizsgálatot beillesztni, ahol a kis szigetek mindig a környéken lévő legnagyobb sziget felé igyekeznek..</p>
<p>Mondanom sem kell, ez a kép is nagyszerűen mutatja, hogy ebből a szabályrendszerből csak egy valamivel rendezettebb káosz alakul ki, de egészen távol van attól, hogy egy valódi sziget alakuljon ki..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2009/07/22/egyszeru-szomszedos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Önépítő pálya</title>
		<link>http://www.lusta.hu/2009/07/17/onepito-palya/</link>
		<comments>http://www.lusta.hu/2009/07/17/onepito-palya/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 13:26:04 +0000</pubDate>
		<dc:creator>Vagabond</dc:creator>
				<category><![CDATA[Hobbi]]></category>
		<category><![CDATA[emergent]]></category>

		<guid isPermaLink="false">http://www.lusta.hu/?p=108</guid>
		<description><![CDATA[A lentebb említett emergence kapcsán gondolkoztam el azon, hogy pályaépítést szeretnék ahhoz hasonló módon csinálni. A lényeg a valószerűség. Vannak apró egységeim, amikre definiálok néhány szabályt, majd véletlenszerűen elhelyezem őket egy terepen. Innentől az egységek olyan módon módosítják lépésről lépésre az állapotukat, hogy a szabályok alapján kedvezőbb pozicióba kerüljenek. Minden lépésben minden egységre meghívom ezt [...]]]></description>
			<content:encoded><![CDATA[<p>A lentebb említett <a title="emergence" href="http://www.lusta.hu/2009/07/08/emergence/">emergence</a> kapcsán gondolkoztam el azon, hogy pályaépítést szeretnék ahhoz hasonló módon csinálni. A lényeg a valószerűség. Vannak apró egységeim, amikre definiálok néhány szabályt, majd véletlenszerűen elhelyezem őket egy terepen. Innentől az egységek olyan módon módosítják lépésről lépésre az állapotukat, hogy a szabályok alapján kedvezőbb pozicióba kerüljenek. Minden lépésben minden egységre meghívom ezt az állapotjavító függvényt, és figyelem, hogy hány egység változtatott. Ha a passzív &#8211; elégedett &#8211; egységek száma elér egy bizonyos %-ot, mondjuk 80-at, akkor megállok, és ha elég ügyesen definiáltam a szabályokat, akkor a pályám kialakult &#8211; véletlenszerűen.</p>
<p><strong>Nyilván itt is oda kell figyelni egy pár dologra:</strong></p>
<p>- Megfelelően sok és szigorú szabállyal el lehet azt érni, hogy bármilyen kezdőállapot ugyanahhoz a végállapothoz vezessen. Ezt nem akarom.</p>
<p>- Ugyanakkor elég szigorú szabályok kellenek, hogy a végkifejlet megfeleljen az elvárásoknak, ne csak egy véletlenszerű kaotikus valami maradjon. Ezt legkönnyebben emberi aggyal lehet ellenőrizni.</p>
<p>- Lehetnek oszcilláló végállapotok. Ez azt eredményezi, hogy minden lépésben pontosan ugyanannyi egység mozog egy olyan állapotba, amiből aztán az előző állapotba kerül vissza. Így folyamatosan van változás minden lépésben, de összességében pontosan ugyanabban a helyzetben leszünk folyamatosan. Ha ez még azelőtt beáll, hogy elérnénk a kritikus passzív tömeget, akkor soha nem fejeződik be a generálás.</p>
<p><strong>Nézzünk egy egyszerű példát:</strong></p>
<p>- Tengeren akarok szigeteket alkotni. A magassággal nem törődöm, csak azzal, hogy az adott pont víz vagy szárazföld.</p>
<p>A kiindulási pontom egy óriási tengerszelet, amelyre pici &#8211; egységsugarú &#8211; úszó szigeteket helyezek el.</p>
<p>A szigeteknek a következő viselkedést definiálom:</p>
<blockquote><p><em>- Ha nincs közvetlen szomszédod, nézd meg, merre van a legközelebbi kis sziget, és mozogj felé.</em></p>
<p><em>- Ha van közvetlen szomszédod, ne csinálj semmit.</em></p></blockquote>
<p>Ez a viselkedési minta több következménnyel is jár:</p>
<p>1: nagyon sok olyan sziget lesz, ahol két pici szigetdarab tapad csak össze. Ez vsz nem megfelelő.</p>
<p>2: Nincs definiálva szabály arra, hogy mi történik, ha egyforma távolságban több sziget is van.</p>
<p>Ez a szabályrendszer a második pontnak megfelelő viselkedést produkál.</p>
<p><strong>Ha kicsit átalakítjuk a szabályt úgy, hogy</strong></p>
<blockquote><p><em>- Ha van közvetlen szomszédod, számold meg őket, és ha látsz ennél nagyobb szigetet valahol, mozogj arra</em></p></blockquote>
<p>Azzal viszont gyakorlatilag az egyes pontot érjük el, mert minden esetben a végállapotban valahol egy marhanagy sziget lesz.</p>
<p>Ebből a két egyszerű példából is látható, hogy némiképpen bonyolultabb a probléma, mint várnánk. Akarok egy kis testbed-et írni ennek a kipróbálására, egyszerű szabálynyelvvel. Ha lesznek eredmények, rakok fel screenshotokat. (csak ne feledjük: lusta.hu)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lusta.hu/2009/07/17/onepito-palya/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

