Monday, October 1, 2012

How did this game bot score higher than humans on a Turing Test?

by George Dvorsky 
 
Anyone who plays video games knows that game bots, artificially intelligent virtual gamers, can be spotted a mile away on account of their mindless predictability and utter lack of behavioral realism. Looking to change this, 2K Games recently launched the BotPrize competition, a kind of Turing Test for nonplayer characters (NPCs). And remarkably, this year's co-winner, a team from The University of Texas at Austin, created a nonplayer character (NPC) that was so realistic that it appeared to be more human than the human players — which is kind of a problem when you think about it.

Neuroevolution
To create their super-realistic game bots, the software developers, a team led by Risto Miikkulainen, programmed their NPCs with pre-existing models of human behavior and fed them through a Darwinian weeding-out process called neuroevolution. Essentially, the only bots that survived into successive generations were the ones that appeared to be the most human — what the developers and competition organizers likened to passing the classic Turing Test (an attempt to distinguish AIs from actual humans).

With each passing generation, the developers re-inserted exact copies of the surviving NPCs, along with slightly modified (or mutated) versions, thus allowing for ongoing variation and selection. The simulation was run over and over again until the developers were satisfied that their game bot had evolved the desired characteristics and behavior. And in fact, Miikkulainen and his team have been refining their virtual player over the past five years.

Humanness
The final manifestation of their efforts was dubbed UT^2 — and it was this NPC that went head-to-head against human opponents and other game bots at the 2K Games tournament.

And the game of choice? Unreal Tournament 2004, of course. The game was selected on account of its complex gameplay and 3D environments — a challenge that would require humans and bots to move around in 3D space, engage in chaotic combat against multiple opponents, and reason about the best strategy at crucial moments. Moreover, the game is also capable of bringing about some telltale human behaviors, including irrationality, anger, and impulsivity.

As each player (human or otherwise) worked to eliminate their opponents, they were subsequently assessed for their "humanness." By the end of the tournament, there were two clear winners, UT^2 and MirrorBot (developed by Romanian computer scientist Mihai Polceanu). Both NPCs scored a humanness rating of 52%, which is all fine and well except for the fact that the human players scored only 40%.

In other words, the game bots appeared to be more human than human.

Limits of the Turing Test
Now, this is a serious problem. Human players should have been assessed with a humanness rating of 100%, not 40%. Clearly, the judges utterly failed to identify true human characteristics among the human players. So by consequence, UT^2 and MirrorBot essentially achieved a rating better than 100% — which is impossible. How can something be more than something you're trying to emulate?

And indeed, this experiment is a good showcase for the limits of the Turing Test. Admittedly, the 2K Games tournament wasn't meant to be a true Turing Test, merely one that measured the humanness of NPCs in a very specific gaming setting. That said, the results demonstrated that human behavior is much more complex and difficult to quantify than we tend to think. Human idiosyncrasies, plus the ability to adapt and counter-adapt to attempts to identify it, will likely forever put it beyond the reach of a simple Turing Test.
For example, given the implications of the 2K Games tournament, how are we supposed to assess something like a chatbot for its humanness now that we know something can apparently appear to be more human-like than humans? Moreover, given all the subjectivity involved in the evaluation, how accurate is any of this?

Perhaps its time to retire the Turing Test and come up with something a bit more....scientific.

http://io9.com/5947796/how-can-a-game-bot-score-higher-than-humans-on-a-turing-test

Wednesday, February 22, 2012

Animation of the Tower Of Hanoi

This link provides an animation of the solving of the Towers of Hanoi problem, as well as showing which lines of code are being executed at the time.

http://www.animatedrecursion.com/intermediate/towersofhanoi.html

Monday, February 20, 2012

Scientists confirm Alan Turing’s 60-year-old theory for why tigers have stripes


Alan Turing was a brilliant mathematician, cryptographer, and logician, plus the father of computer science and artificial intelligence. He also worked in biology, and now, 58 years after his tragic death, science has confirmed one of his old biological hypotheses.

Turing's idea was that biological patterns - such as a tiger's stripes or a leopard's spots - are formed by the interactions of a pair of morphogens, which are the signaling molecules that govern tissue development. The particular pair that Turing proposed was an activator and an inhibitor. Turing proposed that the activator would form something like a tiger's stripe, but then interaction with the inhibitor would shut down its expression, creating a blank space. Then the process would reverse, and the next stripe would form. The interaction of these two morphogens would combine to create the full stripe pattern.

This hypothesis has remained mostly just speculation until now, as researchers at King's College London have now tested the idea in the mouths of mice. The roofs of mice's mouths contain regularly spaced ridges, and the researchers discovered the precise two morphogens that were working as activator and inhibitor to create the pattern, just as Turing suggested. What's more, when the researchers tampered with one morphogen or the other to increase or decrease their activity, the pattern of the ridges changed just as Turing's initial equations predicted they would.

MORE HERE>>

Thursday, February 9, 2012

The World Now Buys More Smartphones than Computers

In 2011, manufacturers shipped 487.7 million smartphones and only 414.6 million computers—that's desktops, laptops and tablets. Combined. We'd heard prophecy of this day, and now it may have arrived.

The study by Canalys has troves of data about global smartphone sales, which seem to lend credence to the theory that smartphones are becoming the main computing devices of the masses. Creation and productivity tasks aside, the vast majority of what we need to do or obtain from the internet can be accomplished on a $100 device that fits in our hand. And they're becoming near-ubiquitous.

http://io9.com/5882172/the-world-now-buys-more-smartphones-than-computers?tag=computers

Thursday, January 26, 2012

A computer program "painted" this artwork from its own imagination


This landscape may not look like that much - it's a solid B+ in middle school art, I'd say - but this might just be proof that its creator, a computer program named the Painting Fool, is a creative being.

The program is the brainchild of Dr. Simon Colton, a computer scientist at Imperial College London. This is one of dozens of paintings by the Painting Fool, and it's particularly exciting because the program wasn't working from an existing digital image, as it usually does. Instead, this is actually a set of images that sprang from the AI equivalent of imagination. And when the program does work from a preexisting image, the results are even more impressive in more traditional aesthetic terms, as you can see in this video and at its website.

MORE HERE >>

Saturday, January 21, 2012

Using the PRINT statement

---------------------------------------------------------------------------

If I say:

X = 5;
PRINT X;


Then the value printed out is

> 5

---------------------------------------------------------------------------

If I say:

X = 5;
PRINT "X";


Then the value printed out is

> X

---------------------------------------------------------------------------

If I say:

X = 5;
PRINT X "is the Biggest";


Then the value printed out is

> 5 is the Biggest

---------------------------------------------------------------------------

If I say:

X = 5;
PRINT "X is the Biggest";


Then the value printed out is

> X is the Biggest

---------------------------------------------------------------------------

Assigning a value to a Variable

---------------------------------------------------------------------------

If I want to assign a vaule to a variable, I do the following

X = 5;

we say this as "X gets the value 5".

---------------------------------------------------------------------------

If I want to assign the value of X to a new variable Biggest, I do the following

Biggest = X;

we say this as "Biggest gets the value of X".

---------------------------------------------------------------------------

If I want to add two numbers and print out the result, I do the following

X = 5;
Y = 4;
SumOfNums = X + Y;

The following is incorrect:

X + Y = SumOfNums;

---------------------------------------------------------------------------

Sunday, January 15, 2012

BubbleSort Pseudocode

---------------------------------------------------------------------------

PROGRAM BubbleSort:

/*===================
DECLARING VARIABLES
===================*/

int ARRAY[N];
int innerloop = 0;
int outerloop = 0;

/*-------------------*/

WHILE (outerloop < N)

    DO WHILE (innerloop < N)

        DO  IF (A[innerloop] > A[innerloop + 1])

                THEN Swap (A[innerloop], A[innerloop + 1]);

            END IF;

            innerloop++;

        END WHILE;

        innerloop = 0;

        outerloop++;

END WHILE;

/*-------------------*/

END.


---------------------------------------------------------------------------
---------------------------------------------------------------------------


PROGRAM Swap (int First, int Second):

/*===================
DECLARING VARIABLES
===================*/

int Temp;

/*-------------------*/
Temp = First;
First = Second;
Second = Temp;

END.

---------------------------------------------------------------------------