Kodi Arfer / Wisterwood

So, I'm hopefully entering the world of knowing a bit about programming...

Topic List
#001 | PaperSpock |
I'd wanted to for some time, but it was only recently that I was able to take a class. I tried teaching myself a few times, but I didn't really have a set idea of what I wanted to do, so it always fell apart. Well, that's not quite true, I had a grand idea, but one that wasn't readily achievable. I needed something in between to try.

My ultimate goal would be to make a game with evolution as a core mechanic. Something else I've wanted to try is come up with a simple game, and set two AI against each other, each using a different strategy to try to see what would work best. Or maybe a mixture between the two, try to use performance at a game as the evolutionary pressure to make a good strategy. But I'd have to figure out a lot more than I know now.

This particular course is being taught in Python, incidentally.
---
Fame is but a slow decay.
-Theodore Tilton
#002 | Kodiologist |
Artificial intelligence in video games has always been a bit mysterious to me. There's no shortage of scholarship on board games, and video-game programmers need to know some mathematics in order to implement many of the things they need to implement, but what resources or skills do programmers have to draw on when they're trying to write the enemy AI for Civilization or Super Smash Bros.? The typical video game differs from board games in two important ways: there are lots of elements of chance and the game tree is huge.

According to an AI textbook I read, genetic algorithms haven't been very successful in practice, so they remain in vogue mostly because of aesthetics. I can believe that.

---
They say I'm just scared. Yes, I am scared. But that doesn't mean I'm wrong.
#003 | PaperSpock |
I wonder why not. I also wonder what they've tried. I could see AI generated in such systems being good AI for beating other AI generated in such systems. It might not make good AI to fight humans, though. So maybe they need to use humans as a selective pressure.

But to really do a good job at it, there should be thousands, if not millions of times played against a human. The best way I see of achieving such a crazy amount of plays is to put such an AI in a AAA game that regularly connects online, and have a 'mystery' type enemy that uses one form of the generated AI.

As a side note, I've thought using popular games to collect data about users would be a great way to get a large sample size for certain experiments, of course with the user's permission.
---
Fame is but a slow decay.
-Theodore Tilton
#004 | Kodiologist |
Yeah, I remember how after the Corrupted Blood incident, epidemiologists were tripping over themselves trying to do experiments in World of Warcraft or some other massively multiplayer
game.

There was also this weird Shakespeare-themed video game built on the Neverwinter Nights engine that was being developed especially as a platform for research. But, so the story goes, it couldn't attract any players because it was a bore. I think the substance of the game was, instead of slaying monsters, answering trivia questions.

---
They say I'm just scared. Yes, I am scared. But that doesn't mean I'm wrong.
#005 | Kodiologist |
On that train of thought, I Googled "experimental sociology" and came upon the following zinger:

Q: Is there such a thing as experimental sociology?
A: Yes, but we call it "government".

---
They say I'm just scared. Yes, I am scared. But that doesn't mean I'm wrong.
#006 | PaperSpock |
The thing is, the scale of the experiment couldn't overwhelm the game itself. It would need to be a game with a few experiments naturally interjected, rather than a game whose sole purpose is to collect a ton of raw data from players. The most I think would work would be a carnival or casino type area where you paid money to try your hand at some game, and if you did well enough, you'd get a reward. Like that bubble thing you gave us. If the player got within 5% of how full the screen really was, they'd get a cool item or some money.

Though it would be better to work something more subtle in. I could see some reaction time data and studies on attention being fairly easy to sneak in organically, though they might have to be on the 3DS, Vita, iOS, or some other platform where screen size, lag, etc should be relatively constant. A plus would be that such data might be use to help make better games in the future, so video game publishers would have some incentive to cooperate.

More social experiments probably could be developed in MMOs, but it would require tricky planning for it to not interrupt the game.
---
Fame is but a slow decay.
-Theodore Tilton
#007 | PaperSpock |
http://desmond.imageshack.us/Himg404/scaled.php?server=404&filename=gendrift.png&res=landing

A minor success. I successfully made a program that simulates genetic drift, dumps the simulation data into a text file. I then moved it to excel and what you see is the result.

Genetic drift primer:

Let's say there are two types of a single gene, A and a. Initially, A and a appear in equal frequencies in a population. The alleles for each successive generation are picked from the previous generation at random. So given an even distribution, you would expect the next generation to be near even. But due to random nature, there's usually some change in the frequencies. So you might start with 50% A and 50% a, then go to 52% A and 48% a in the next generation. Since these new frequencies are used to pick the following generation, small differences like this will eventually become a large difference. Eventually, one allele or the other will essentially disappear from a population.

My graph tracks the frequency of one of the two alleles.

I'm happy that I was able to simulate something I learned about genetics to the point where it looks like it is satisfactorily working. If nothing else, I've learned some stuff about how to do that.
---
Fame is but a slow decay.
-Theodore Tilton
#008 | Kodiologist |
Pretty cool. I'd thought that genetic drift could only arise when a small sample of a larger population was isolated, but perhaps I have it mixed up with some other gene-pool process.

---
They say I'm just scared. Yes, I am scared. But that doesn't mean I'm wrong.
#009 | PaperSpock |
Did a quick check, and that sounds closer to the Founder Effect, though this effect was listed as a subset of genetic drift on Wikipedia.
---
Fame is but a slow decay.
-Theodore Tilton
#010 | Kodiologist |
Right, I guess the founder effect could aggravate genetic drift by creating a population with especially uneven allele frequencies.

---
They say I'm just scared. Yes, I am scared. But that doesn't mean I'm wrong.
#011 | ShadowSpy |
Speaking of genetics, I think I heard somewhere that the amount of genetic variability within humans is extremely small. Based on this variability, there's really only supposed to be around 20,000 of us.
---
"I always wanted to be somebody, but now I realize I should have been more specific."
#012 | Kodiologist |
This weekend, I myself have been doing some algorithmically intense programming in R, which is a big change from my usual munging and scraping in Perl. The goal is to help fit models (in a Bayesian fashion, of course) of intertemporal decision-making to human subjects by adaptively selecting decisions to give them. My ideas about how to do this have given rise to a lot of funny sub-problems, like finding the index of the triangular number less than or equal to a given integer, but on the whole, I seem to have been surprisingly successful. I've created a model-agnostic adaptive procedure that uses a geometric metaphor. It's nice to finally put my analysis intuition to work in my actual research.

---
They say I'm just scared. Yes, I am scared. But that doesn't mean I'm wrong.