Both sides previous revisionPrevious revisionNext revision | Previous revision |
people:chris_symonds [2014/10/07 02:42] – csymonds | people:chris_symonds [2014/12/06 03:32] (current) – [News] csymonds |
---|
===== News ===== | ===== News ===== |
| |
===04-Oct-2014 09:26:47PM-0600=== | ===05-Dec-2014 03:09:49PM-0700=== |
Ok one more post. I adjusted the settings of the parochial non-altruists so that I'm no longer getting lock-up, or if I do, it doesn't last, and will eventually erode and things continue to move. After playing around with this configuration in a 4-up match, it's clear that Parochial Altruists are the hands-down dominant category, followed by PNAs, then NPAs, and the NPNAs dead last. Not sure there's anything terribly exciting about that, but... | |
| |
I just adjusted the resources down a bit and set off a 1v1 match and it has been the hands-down most exciting run I've watched yet. 8 kAEPS in and it's still going. I'm getting lock-ups that eventually get eroded away and these two guys are slugging it out hard. I wish I had recorded it. I also really wish I had statistical output so that I knew what the heck was going on. Hopefully that feature will come soon. | [[:people:chris_symonds:project_submission|Final Project Page]] has been posted. |
| |
**edit: Ah, blue finally won at 9.1 kAEPS. Bravo, blue. | ===15-Nov-2014 01:09:07PM-0700=== |
| Ok, so here's where I'm at: |
| |
===04-Oct-2014 04:40:31PM-0600=== | After a conversation with Prof. Ackley, it was concluded that my model needed a lot of simplification. So back to the drawing board I went, and implemented the changes he suggested. That done, and several wasted simulation runs later during which I realized I had some implementation errors in my model, I've gone back to running simulations. Now, instead of varying the amount of resources on the board, I am varying the threshold by which the Sytizens will engage in their genetic behavior. Parochials now have a single behavior. Altruists have another. Thus, PAs will engage in both. PNAs and NPAs will engage in one or the other, and NPNAs will engage in neither. Both genetic behaviors are tied to an energy threshold, below which they will not fire. For example, if set to 20, no Sytizen with less than 20 energy will share with or attack another Sytizen. This threshold is now what I am adjusting over runs. And holy crap, __I think I have a U-shaped curve__. |
This week, I'm lumping my updates into one post. | |
| |
==Researcher Presentation== | The bad news is, this has placed me very much behind. Now, my model description must be redone. My figure 1 redone. And I have many more lengthy runs to do before I can produce graphs 1 and 2. The bright side is that I am pretty much working solely on this over the weekend, but I wonder if that will be enough time... |
I finished up my researcher presentation on Tom Ray last Monday after class. I'm glad I picked him, he's had a fascinating career, and I'm looking forward to telling everyone about him. | |
| |
==Project== | ===08-Nov-2014 10:05:54AM-0700=== |
I wrote an abstract and expected outcome a few days ago, and I was sure to use as many $2 words as I could to make it sound good. However, I've already blown my expected outcome out of the water because... | I completely forgot to make an update last week, so I guess I'll lump it in with this weeks, and attempt to keep it concise. |
| |
==Paralta== | * I've completed 20 simulation runs of Paralta; 4 levels of increasing scarcity with 5 runs each. The results are not terribly exciting or interesting. I see PAs generally dominating across the board. What makes this somewhat dismaying is that the groups tend to have very little contact and interaction, particularly in the more scarce environments and the behavior and fitness of a PA is rooted in his interactions with outgroups. So I don't even know what this result means other than the likely root being an inherent flaw in my model. |
So it turns out that the hunch was correct that the gridlock of elements that kept occurring in my simulation runs were made up of predominently the same category. In fact it essentially entirely one category, but not the Non-Parochial, Non-Altruists as I'd suspect, and no not the Parochial Altruists, either. It is, to my surprise, entirely the Parochial Non-Altruists (the ones who steal from outgroups, at potential cost to themselves.) | |
| * Regardless, I've done a write up of my model for presentation in next class. It's fairly bullet-happy, and I'm not sure that's an appropriate thing for a research paper, as I don't remember reading any with this many bullets. I guess the class will judge. |
| |
| * I'm pretty sure I have the worst Figure 1 ever. Even having put my paper into IEEE format will not make this figure 1 look respectable. It's a train wreck. |
| |
| All in all, the outlook is iffy. On the bright side, were I to do a project like this again, I would be much more comfortable in knowing the kinds of bumps to expect, and a better sense of where the pitfalls lie. That's a good thing. |
| |
{{ :people:nation_in_gridlock.png?nolink&500 |Bunch of thieven' brigands}} | ===26-Oct-2014 09:30:47PM-0600=== |
| I've been working sporadically over the week, so I'm just going to compile everything into one update for the week: |
| |
After looking at their behavior, I suppose I understand why; the consequences of failure aren't too bad. So in the grand scheme of abilities, they have a much smaller chance of dying than the others, so I need to nerf their advantage a little bit. However, I feel that I am arbitrarily doing this, and need to figure out some way of making the behavior a realistic one, even if it confers a greater advantage. However, at this point one is as realistic as the other, so I suppose I will just attempt adjustments until I am at least no longer getting gridlock. | Graphing: I've installed gnuplot on my usb-untu and wrote a bash script that will convert my data files into nice graphs that do a great job of telling the tale of a simulation at a glance. |
| |
===28-Sep-2014 01:07:25PM-0600=== | The bad news is, this has exposed all the horrible things wrong with my Element_Sytizen. After doing several runs of of a single team only and seeing a predominance of one kind of classification, I concluded something must be wrong in the implementation. After going through the code, there were not only issues with genetic behavior, but with breeding and movement as well. After some refactoring of the broken stuff, I tried to take Professor Ackley's advice and simplify the genetic behavior as much as possible. The following behavior algorithms are now in effect: |
Amazing: I make an off-hand comment about how I'm a loser who doesn't know how to debug and not 4 hours later, a tutorial gets posted on logging and debugging. IT'S LIKE MAGIC! | |
| |
Today's impediment is that I do not have a million dollars... | Parochial Altruists: Attack outgroup with 0.5 chance of success, no longer get energy for this, but opponent still dies. On failure, 0.5 chance of dying from the attempt. |
| |
Worth a shot. Anyway, I've implemented the genetically-specific behavior of my Sytizens, and thanks to the magic of LOG.Debug I've ironed out some (not all) kinks in my element. I need to be able to incorporate some randomness into the creation of the element, specifically in GetDefaultAtom function. I have an sos in to Trent on the best way to get a nicely seeded prng in that function. | Parochial Non-Altruists: 0.5 chance of stealing 1 RES worth of energy from outgroup. The PNA does not get to keep this energy if successful. On failure: 0.5 chance of losing 1 RES worth of energy. |
| |
Next up: Implement breeding. Now where is the Barry White function... | NP-A: If NPA energy is over a threshold and a friendly has less energy than the energy surplus over that threshold, the NPA will give the friendly 1 RES worth of energy. |
| |
===27-Sep-2014 09:51:34PM-0600=== | NPNA: Still just dancing. |
Stellar programming achievements today: | |
| |
* Managed to get my Sytizens to take full account of their surroundings | This, along with some adjustments to global parameters (Increased breeding range to 4, RES pickup range to 2, Strike range to 2, Mutation odds to 1 in 250) the simulation runs now resemble something closer to sanity. Instead of looking like fish and sharks with swarms of colors chasing each other around the map, it now looks something more like Frobworld, with diffused dots chasing RES around the map and occassionally getting into scuffles with an outgroup. Runs with a single team now show more balance in categories (with the exception of NP-As which still tank fairly quickly, but at least appear on the board now.) |
* Managed to get them moving in a direction biased towards food (I think) | |
* That's pretty much it | |
* Oh, at one point I realized I was adding negative integers into an unsigned int variable | |
* Ah yes, and at one point I tried to divide by 0 | |
| |
So, not much progress today. I still have tomorrow, and the rest of what I need is essentially variations on things I've since figured out, so I'm hoping for a faster pace tomorrow. | {{:people:chris_symonds:res200b1_09.png?direct&300|}} |
| |
Impediments: | Here's an example run with 1 team only, RES produced at 1 in 200 |
| |
* I'm concerened that even without conflict, my Sytizens tend to die very quickly now matter how kind I am or how much RES I have floating around. Sometimes it seems these things die surrounded by food, so I'm not sure what's going on there. | {{:people:chris_symonds:team_one_graph_01.png?direct&300|}} |
* I'm hesitant to have these guys gang up in any way, as that will likely be their death warrant given how quickly they can run out of energy and DREGs are slow to replace it unless I just saturate the map with RES. | {{:people:chris_symonds:team_two_graph_01.png?direct&300|}} |
* Without being able to do any kind of debugging, I'm flying blind here. | |
| And here's one with 2 teams, RES produced at 1 in 200. |
| |
| I think I'm in good shape, and so am now cautiously transitioning to my science hat. |
| |
| ===22-Oct-2014 08:54:16PM-0600=== |
| Finished reading Maley's paper in preparation for my defense next class. Having never defended a paper in this manner before, I'm not sure what to expect. My brother's recommendation is to put my back to the corner, drop the paper at my feet, and swing my arms around wildly, all while making extremely loud bird calls to confuse would-be attackers. So between that and carefully studying the paper, I should hopefully be able to put up a good defense. |
| |
| |
=====Project===== | =====Project===== |
| |
[[people:chris_symonds:project|The Evolution of Parochial Altruism in Scarcity Systems]] | [[:people:chris_symonds:project_submission|Project Submission Page]] |
| |
[[people:chris_symonds:Element_Sytizen|Specifications for Element_Sytizen]] | Final Presentation: |
| *[[http://cs.unm.edu/~csymonds/CS591/Presentation.pptx|.pptx]] |
| *[[http://cs.unm.edu/~csymonds/CS591/20141122031816.mp4|.mp4]] |
| *[[http://cs.unm.edu/~csymonds/CS591/Presentation.odp|.odp]] |
| *[[http://cs.unm.edu/~csymonds/CS591/Presentation.pdf|.pdf]] |
| |
| {{:people:chris_symonds:paralta_paper.pdf|Paper Draft}} |
| |
| [[people:chris_symonds:graphs|Graphs and Data]] |
| |
| [[people:chris_symonds:model|Model Description and Figure 1]] |
| |
| [[people:chris_symonds:preliminary_results|Preliminary Results]] |
| |
[[people:chris_symonds:abstract_outcome|Abstract and Expected Outcome]] | [[people:chris_symonds:abstract_outcome|Abstract and Expected Outcome]] |
| |
| [[people:chris_symonds:Element_Sytizen|Specifications for Element_Sytizen]] |
| |
| [[people:chris_symonds:project|The Evolution of Parochial Altruism in Scarcity Systems]] |
=====Profile on Dr. Thomas Ray===== | =====Profile on Dr. Thomas Ray===== |
| |